From 179a6cd16962755864a37e4fa3cd82fb6c75f900 Mon Sep 17 00:00:00 2001 From: Pat Leamon Date: Fri, 5 Jun 2026 10:58:39 +1000 Subject: [PATCH] =?UTF-8?q?coreapi:=20refresh=20spec=20=E2=80=94=20tolerat?= =?UTF-8?q?e=20unknown=20response=20fields?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream flipped all 54 schemas from `additionalProperties: false` to `true`. Regenerating turns the generated decoders from strict (hard-error `unexpected field %q`) into tolerant (unknown fields captured into an AdditionalProps map), so a new field on any core API model no longer breaks the CLI. Refreshed via `curl ... openapi.json` + `go generate ./internal/coreapi/...`. Co-Authored-By: Claude Opus 4.8 (1M context) Entire-Checkpoint: 756af473d089 --- internal/coreapi/oas_json_gen.go | 4266 ++++++++++++++++++++++- internal/coreapi/oas_schemas_gen.go | 1496 +++++++- internal/coreapi/spec/core.gen.json | 108 +- internal/coreapi/spec/core.openapi.json | 2 +- 4 files changed, 5609 insertions(+), 263 deletions(-) diff --git a/internal/coreapi/oas_json_gen.go b/internal/coreapi/oas_json_gen.go index ac3f7171c..d9e5cbc60 100644 --- a/internal/coreapi/oas_json_gen.go +++ b/internal/coreapi/oas_json_gen.go @@ -42,6 +42,13 @@ func (s *AddOrgMemberInputBody) encodeFields(e *jx.Encoder) { s.Role.Encode(e) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfAddOrgMemberInputBody = [4]string{ @@ -58,6 +65,7 @@ func (s *AddOrgMemberInputBody) Decode(d *jx.Decoder) error { } var requiredBitSet [1]uint8 s.setDefaults() + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -106,7 +114,18 @@ func (s *AddOrgMemberInputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"role\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -161,6 +180,64 @@ func (s *AddOrgMemberInputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s AddOrgMemberInputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s AddOrgMemberInputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes AddOrgMemberInputBodyAdditional from json. +func (s *AddOrgMemberInputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode AddOrgMemberInputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode AddOrgMemberInputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s AddOrgMemberInputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *AddOrgMemberInputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes AddOrgMemberInputBodyRole as json. func (s AddOrgMemberInputBodyRole) Encode(e *jx.Encoder) { e.Str(string(s)) @@ -240,6 +317,13 @@ func (s *AuditEvent) encodeFields(e *jx.Encoder) { e.FieldStart("occurredAt") json.EncodeDateTime(e, s.OccurredAt) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfAuditEvent = [6]string{ @@ -257,6 +341,7 @@ func (s *AuditEvent) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode AuditEvent to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -329,7 +414,18 @@ func (s *AuditEvent) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"occurredAt\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -384,6 +480,64 @@ func (s *AuditEvent) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s AuditEventAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s AuditEventAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes AuditEventAdditional from json. +func (s *AuditEventAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode AuditEventAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode AuditEventAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s AuditEventAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *AuditEventAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s AuditEventMetadata) Encode(e *jx.Encoder) { e.ObjStart() @@ -465,6 +619,13 @@ func (s *BatchLookupInputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfBatchLookupInputBody = [2]string{ @@ -478,6 +639,7 @@ func (s *BatchLookupInputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode BatchLookupInputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -510,7 +672,18 @@ func (s *BatchLookupInputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"refs\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -565,6 +738,64 @@ func (s *BatchLookupInputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s BatchLookupInputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s BatchLookupInputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes BatchLookupInputBodyAdditional from json. +func (s *BatchLookupInputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode BatchLookupInputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode BatchLookupInputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s BatchLookupInputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *BatchLookupInputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *BatchLookupOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -588,6 +819,13 @@ func (s *BatchLookupOutputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfBatchLookupOutputBody = [2]string{ @@ -601,6 +839,7 @@ func (s *BatchLookupOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode BatchLookupOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -633,7 +872,18 @@ func (s *BatchLookupOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"refs\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -688,6 +938,64 @@ func (s *BatchLookupOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s BatchLookupOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s BatchLookupOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes BatchLookupOutputBodyAdditional from json. +func (s *BatchLookupOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode BatchLookupOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode BatchLookupOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s BatchLookupOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *BatchLookupOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *Binding) Encode(e *jx.Encoder) { e.ObjStart() @@ -725,6 +1033,13 @@ func (s *Binding) encodeFields(e *jx.Encoder) { e.FieldStart("providerId") e.Str(s.ProviderId) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfBinding = [6]string{ @@ -742,6 +1057,7 @@ func (s *Binding) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode Binding to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -816,7 +1132,18 @@ func (s *Binding) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"providerId\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -871,6 +1198,64 @@ func (s *Binding) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s BindingAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s BindingAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes BindingAdditional from json. +func (s *BindingAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode BindingAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode BindingAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s BindingAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *BindingAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *CreateBindingInputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -896,6 +1281,13 @@ func (s *CreateBindingInputBody) encodeFields(e *jx.Encoder) { e.FieldStart("providerId") e.Str(s.ProviderId) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfCreateBindingInputBody = [3]string{ @@ -910,6 +1302,7 @@ func (s *CreateBindingInputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode CreateBindingInputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -947,7 +1340,18 @@ func (s *CreateBindingInputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"providerId\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -1002,6 +1406,64 @@ func (s *CreateBindingInputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s CreateBindingInputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s CreateBindingInputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes CreateBindingInputBodyAdditional from json. +func (s *CreateBindingInputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode CreateBindingInputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode CreateBindingInputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s CreateBindingInputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *CreateBindingInputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *CreateMirrorInputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -1033,6 +1495,13 @@ func (s *CreateMirrorInputBody) encodeFields(e *jx.Encoder) { e.FieldStart("repo") e.Str(s.Repo) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfCreateMirrorInputBody = [5]string{ @@ -1049,6 +1518,7 @@ func (s *CreateMirrorInputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode CreateMirrorInputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -1109,7 +1579,18 @@ func (s *CreateMirrorInputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"repo\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -1164,6 +1645,64 @@ func (s *CreateMirrorInputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s CreateMirrorInputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s CreateMirrorInputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes CreateMirrorInputBodyAdditional from json. +func (s *CreateMirrorInputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode CreateMirrorInputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode CreateMirrorInputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s CreateMirrorInputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *CreateMirrorInputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes CreateMirrorInputBodyProvider as json. func (s CreateMirrorInputBodyProvider) Encode(e *jx.Encoder) { e.Str(string(s)) @@ -1227,6 +1766,13 @@ func (s *CreateOrgInputBody) encodeFields(e *jx.Encoder) { s.Region.Encode(e) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfCreateOrgInputBody = [3]string{ @@ -1241,6 +1787,7 @@ func (s *CreateOrgInputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode CreateOrgInputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -1277,7 +1824,18 @@ func (s *CreateOrgInputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"region\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -1332,6 +1890,64 @@ func (s *CreateOrgInputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s CreateOrgInputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s CreateOrgInputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes CreateOrgInputBodyAdditional from json. +func (s *CreateOrgInputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode CreateOrgInputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode CreateOrgInputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s CreateOrgInputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *CreateOrgInputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *CreateProjectInputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -1365,6 +1981,13 @@ func (s *CreateProjectInputBody) encodeFields(e *jx.Encoder) { s.Region.Encode(e) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfCreateProjectInputBody = [5]string{ @@ -1381,6 +2004,7 @@ func (s *CreateProjectInputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode CreateProjectInputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -1439,7 +2063,18 @@ func (s *CreateProjectInputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"region\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -1494,6 +2129,64 @@ func (s *CreateProjectInputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s CreateProjectInputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s CreateProjectInputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes CreateProjectInputBodyAdditional from json. +func (s *CreateProjectInputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode CreateProjectInputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode CreateProjectInputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s CreateProjectInputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *CreateProjectInputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes CreateProjectInputBodyOwnerType as json. func (s CreateProjectInputBodyOwnerType) Encode(e *jx.Encoder) { e.Str(string(s)) @@ -1569,6 +2262,13 @@ func (s *CreateRepoInputBody) encodeFields(e *jx.Encoder) { e.FieldStart("projectId") e.Str(s.ProjectId) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfCreateRepoInputBody = [5]string{ @@ -1585,6 +2285,7 @@ func (s *CreateRepoInputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode CreateRepoInputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -1643,7 +2344,18 @@ func (s *CreateRepoInputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"projectId\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -1698,6 +2410,64 @@ func (s *CreateRepoInputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s CreateRepoInputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s CreateRepoInputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes CreateRepoInputBodyAdditional from json. +func (s *CreateRepoInputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode CreateRepoInputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode CreateRepoInputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s CreateRepoInputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *CreateRepoInputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes CreateRepoInputBodyObjectFormat as json. func (s CreateRepoInputBodyObjectFormat) Encode(e *jx.Encoder) { e.Str(string(s)) @@ -1761,6 +2531,13 @@ func (s *CreateServiceAccountInputBody) encodeFields(e *jx.Encoder) { e.FieldStart("orgId") e.Str(s.OrgId) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfCreateServiceAccountInputBody = [3]string{ @@ -1775,6 +2552,7 @@ func (s *CreateServiceAccountInputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode CreateServiceAccountInputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -1813,7 +2591,18 @@ func (s *CreateServiceAccountInputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"orgId\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -1868,6 +2657,64 @@ func (s *CreateServiceAccountInputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s CreateServiceAccountInputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s CreateServiceAccountInputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes CreateServiceAccountInputBodyAdditional from json. +func (s *CreateServiceAccountInputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode CreateServiceAccountInputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode CreateServiceAccountInputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s CreateServiceAccountInputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *CreateServiceAccountInputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *CreatedMirror) Encode(e *jx.Encoder) { e.ObjStart() @@ -1903,6 +2750,13 @@ func (s *CreatedMirror) encodeFields(e *jx.Encoder) { e.FieldStart("publicUrl") e.Str(s.PublicUrl) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfCreatedMirror = [6]string{ @@ -1920,6 +2774,7 @@ func (s *CreatedMirror) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode CreatedMirror to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -1994,7 +2849,18 @@ func (s *CreatedMirror) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"publicUrl\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -2049,6 +2915,64 @@ func (s *CreatedMirror) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s CreatedMirrorAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s CreatedMirrorAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes CreatedMirrorAdditional from json. +func (s *CreatedMirrorAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode CreatedMirrorAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode CreatedMirrorAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s CreatedMirrorAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *CreatedMirrorAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ErrorDetail) Encode(e *jx.Encoder) { e.ObjStart() @@ -2076,6 +3000,13 @@ func (s *ErrorDetail) encodeFields(e *jx.Encoder) { e.Raw(s.Value) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfErrorDetail = [3]string{ @@ -2089,6 +3020,7 @@ func (s *ErrorDetail) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode ErrorDetail to nil") } + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -2124,7 +3056,18 @@ func (s *ErrorDetail) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"value\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -2147,6 +3090,64 @@ func (s *ErrorDetail) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ErrorDetailAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ErrorDetailAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ErrorDetailAdditional from json. +func (s *ErrorDetailAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ErrorDetailAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ErrorDetailAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ErrorDetailAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ErrorDetailAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ErrorModel) Encode(e *jx.Encoder) { e.ObjStart() @@ -2202,6 +3203,13 @@ func (s *ErrorModel) encodeFields(e *jx.Encoder) { s.Type.Encode(e) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfErrorModel = [7]string{ @@ -2220,6 +3228,7 @@ func (s *ErrorModel) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ErrorModel to nil") } s.setDefaults() + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -2301,7 +3310,18 @@ func (s *ErrorModel) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"type\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -2324,6 +3344,64 @@ func (s *ErrorModel) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ErrorModelAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ErrorModelAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ErrorModelAdditional from json. +func (s *ErrorModelAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ErrorModelAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ErrorModelAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ErrorModelAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ErrorModelAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *GetMeOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -2371,6 +3449,13 @@ func (s *GetMeOutputBody) encodeFields(e *jx.Encoder) { s.RegionalUnavailable.Encode(e) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfGetMeOutputBody = [7]string{ @@ -2389,6 +3474,7 @@ func (s *GetMeOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode GetMeOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -2463,7 +3549,18 @@ func (s *GetMeOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"regionalUnavailable\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -2518,6 +3615,64 @@ func (s *GetMeOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s GetMeOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s GetMeOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes GetMeOutputBodyAdditional from json. +func (s *GetMeOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode GetMeOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode GetMeOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s GetMeOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *GetMeOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes GetMeOutputBodyMode as json. func (s GetMeOutputBodyMode) Encode(e *jx.Encoder) { e.Str(string(s)) @@ -2599,6 +3754,13 @@ func (s *GetPermissionsOutputBody) encodeFields(e *jx.Encoder) { e.FieldStart("resourceType") e.Str(s.ResourceType) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfGetPermissionsOutputBody = [5]string{ @@ -2615,6 +3777,7 @@ func (s *GetPermissionsOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode GetPermissionsOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -2682,7 +3845,18 @@ func (s *GetPermissionsOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"resourceType\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -2737,6 +3911,64 @@ func (s *GetPermissionsOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s GetPermissionsOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s GetPermissionsOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes GetPermissionsOutputBodyAdditional from json. +func (s *GetPermissionsOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode GetPermissionsOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode GetPermissionsOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s GetPermissionsOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *GetPermissionsOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s GetPermissionsOutputBodyExplain) Encode(e *jx.Encoder) { e.ObjStart() @@ -2828,6 +4060,13 @@ func (s *GrantProjectAccessInputBody) encodeFields(e *jx.Encoder) { e.FieldStart("role") e.Str(s.Role) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfGrantProjectAccessInputBody = [5]string{ @@ -2845,6 +4084,7 @@ func (s *GrantProjectAccessInputBody) Decode(d *jx.Decoder) error { } var requiredBitSet [1]uint8 s.setDefaults() + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -2905,7 +4145,18 @@ func (s *GrantProjectAccessInputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"role\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -2960,6 +4211,64 @@ func (s *GrantProjectAccessInputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s GrantProjectAccessInputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s GrantProjectAccessInputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes GrantProjectAccessInputBodyAdditional from json. +func (s *GrantProjectAccessInputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode GrantProjectAccessInputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode GrantProjectAccessInputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s GrantProjectAccessInputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *GrantProjectAccessInputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes GrantProjectAccessInputBodyGranteeType as json. func (s GrantProjectAccessInputBodyGranteeType) Encode(e *jx.Encoder) { e.Str(string(s)) @@ -3021,6 +4330,13 @@ func (s *GrantProjectAccessOutputBody) encodeFields(e *jx.Encoder) { e.FieldStart("status") e.Str(s.Status) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfGrantProjectAccessOutputBody = [2]string{ @@ -3034,6 +4350,7 @@ func (s *GrantProjectAccessOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode GrantProjectAccessOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -3060,7 +4377,18 @@ func (s *GrantProjectAccessOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"status\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -3115,6 +4443,64 @@ func (s *GrantProjectAccessOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s GrantProjectAccessOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s GrantProjectAccessOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes GrantProjectAccessOutputBodyAdditional from json. +func (s *GrantProjectAccessOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode GrantProjectAccessOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode GrantProjectAccessOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s GrantProjectAccessOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *GrantProjectAccessOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *GrantRepoAccessInputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -3148,6 +4534,13 @@ func (s *GrantRepoAccessInputBody) encodeFields(e *jx.Encoder) { e.FieldStart("role") e.Str(s.Role) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfGrantRepoAccessInputBody = [5]string{ @@ -3165,6 +4558,7 @@ func (s *GrantRepoAccessInputBody) Decode(d *jx.Decoder) error { } var requiredBitSet [1]uint8 s.setDefaults() + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -3225,7 +4619,18 @@ func (s *GrantRepoAccessInputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"role\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -3280,6 +4685,64 @@ func (s *GrantRepoAccessInputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s GrantRepoAccessInputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s GrantRepoAccessInputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes GrantRepoAccessInputBodyAdditional from json. +func (s *GrantRepoAccessInputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode GrantRepoAccessInputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode GrantRepoAccessInputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s GrantRepoAccessInputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *GrantRepoAccessInputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes GrantRepoAccessInputBodyGranteeType as json. func (s GrantRepoAccessInputBodyGranteeType) Encode(e *jx.Encoder) { e.Str(string(s)) @@ -3341,6 +4804,13 @@ func (s *GrantRepoAccessOutputBody) encodeFields(e *jx.Encoder) { e.FieldStart("status") e.Str(s.Status) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfGrantRepoAccessOutputBody = [2]string{ @@ -3354,6 +4824,7 @@ func (s *GrantRepoAccessOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode GrantRepoAccessOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -3380,7 +4851,18 @@ func (s *GrantRepoAccessOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"status\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -3435,6 +4917,64 @@ func (s *GrantRepoAccessOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s GrantRepoAccessOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s GrantRepoAccessOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes GrantRepoAccessOutputBodyAdditional from json. +func (s *GrantRepoAccessOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode GrantRepoAccessOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode GrantRepoAccessOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s GrantRepoAccessOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *GrantRepoAccessOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *GrantServiceAccountAccessInputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -3462,6 +5002,13 @@ func (s *GrantServiceAccountAccessInputBody) encodeFields(e *jx.Encoder) { e.FieldStart("role") e.Str(s.Role) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfGrantServiceAccountAccessInputBody = [4]string{ @@ -3477,6 +5024,7 @@ func (s *GrantServiceAccountAccessInputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode GrantServiceAccountAccessInputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -3525,7 +5073,18 @@ func (s *GrantServiceAccountAccessInputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"role\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -3580,6 +5139,64 @@ func (s *GrantServiceAccountAccessInputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s GrantServiceAccountAccessInputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s GrantServiceAccountAccessInputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes GrantServiceAccountAccessInputBodyAdditional from json. +func (s *GrantServiceAccountAccessInputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode GrantServiceAccountAccessInputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode GrantServiceAccountAccessInputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s GrantServiceAccountAccessInputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *GrantServiceAccountAccessInputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes GrantServiceAccountAccessInputBodyResourceType as json. func (s GrantServiceAccountAccessInputBodyResourceType) Encode(e *jx.Encoder) { e.Str(string(s)) @@ -3639,6 +5256,13 @@ func (s *GrantServiceAccountAccessOutputBody) encodeFields(e *jx.Encoder) { e.FieldStart("status") e.Str(s.Status) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfGrantServiceAccountAccessOutputBody = [2]string{ @@ -3652,6 +5276,7 @@ func (s *GrantServiceAccountAccessOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode GrantServiceAccountAccessOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -3678,7 +5303,18 @@ func (s *GrantServiceAccountAccessOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"status\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -3733,6 +5369,64 @@ func (s *GrantServiceAccountAccessOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s GrantServiceAccountAccessOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s GrantServiceAccountAccessOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes GrantServiceAccountAccessOutputBodyAdditional from json. +func (s *GrantServiceAccountAccessOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode GrantServiceAccountAccessOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode GrantServiceAccountAccessOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s GrantServiceAccountAccessOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *GrantServiceAccountAccessOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ListAuditEventsOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -3756,6 +5450,13 @@ func (s *ListAuditEventsOutputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfListAuditEventsOutputBody = [2]string{ @@ -3769,6 +5470,7 @@ func (s *ListAuditEventsOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ListAuditEventsOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -3801,7 +5503,18 @@ func (s *ListAuditEventsOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"events\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -3856,6 +5569,64 @@ func (s *ListAuditEventsOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ListAuditEventsOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ListAuditEventsOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ListAuditEventsOutputBodyAdditional from json. +func (s *ListAuditEventsOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ListAuditEventsOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ListAuditEventsOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ListAuditEventsOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ListAuditEventsOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ListBindingsOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -3879,6 +5650,13 @@ func (s *ListBindingsOutputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfListBindingsOutputBody = [2]string{ @@ -3892,6 +5670,7 @@ func (s *ListBindingsOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ListBindingsOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -3924,7 +5703,18 @@ func (s *ListBindingsOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"bindings\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -3979,6 +5769,64 @@ func (s *ListBindingsOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ListBindingsOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ListBindingsOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ListBindingsOutputBodyAdditional from json. +func (s *ListBindingsOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ListBindingsOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ListBindingsOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ListBindingsOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ListBindingsOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ListMirrorsOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -4002,6 +5850,13 @@ func (s *ListMirrorsOutputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfListMirrorsOutputBody = [2]string{ @@ -4015,6 +5870,7 @@ func (s *ListMirrorsOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ListMirrorsOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -4047,7 +5903,18 @@ func (s *ListMirrorsOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"mirrors\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -4102,6 +5969,64 @@ func (s *ListMirrorsOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ListMirrorsOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ListMirrorsOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ListMirrorsOutputBodyAdditional from json. +func (s *ListMirrorsOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ListMirrorsOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ListMirrorsOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ListMirrorsOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ListMirrorsOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ListOIDCProvidersOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -4125,6 +6050,13 @@ func (s *ListOIDCProvidersOutputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfListOIDCProvidersOutputBody = [2]string{ @@ -4138,6 +6070,7 @@ func (s *ListOIDCProvidersOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ListOIDCProvidersOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -4170,7 +6103,18 @@ func (s *ListOIDCProvidersOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"providers\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -4225,6 +6169,64 @@ func (s *ListOIDCProvidersOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ListOIDCProvidersOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ListOIDCProvidersOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ListOIDCProvidersOutputBodyAdditional from json. +func (s *ListOIDCProvidersOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ListOIDCProvidersOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ListOIDCProvidersOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ListOIDCProvidersOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ListOIDCProvidersOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ListOrgMembersOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -4248,6 +6250,13 @@ func (s *ListOrgMembersOutputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfListOrgMembersOutputBody = [2]string{ @@ -4261,6 +6270,7 @@ func (s *ListOrgMembersOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ListOrgMembersOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -4293,7 +6303,18 @@ func (s *ListOrgMembersOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"members\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -4348,6 +6369,64 @@ func (s *ListOrgMembersOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ListOrgMembersOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ListOrgMembersOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ListOrgMembersOutputBodyAdditional from json. +func (s *ListOrgMembersOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ListOrgMembersOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ListOrgMembersOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ListOrgMembersOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ListOrgMembersOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ListOrgProjectsOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -4371,6 +6450,13 @@ func (s *ListOrgProjectsOutputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfListOrgProjectsOutputBody = [2]string{ @@ -4384,6 +6470,7 @@ func (s *ListOrgProjectsOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ListOrgProjectsOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -4416,7 +6503,18 @@ func (s *ListOrgProjectsOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"projects\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -4471,6 +6569,64 @@ func (s *ListOrgProjectsOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ListOrgProjectsOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ListOrgProjectsOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ListOrgProjectsOutputBodyAdditional from json. +func (s *ListOrgProjectsOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ListOrgProjectsOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ListOrgProjectsOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ListOrgProjectsOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ListOrgProjectsOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ListOrgsOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -4494,6 +6650,13 @@ func (s *ListOrgsOutputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfListOrgsOutputBody = [2]string{ @@ -4507,6 +6670,7 @@ func (s *ListOrgsOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ListOrgsOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -4539,7 +6703,18 @@ func (s *ListOrgsOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"orgs\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -4594,6 +6769,64 @@ func (s *ListOrgsOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ListOrgsOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ListOrgsOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ListOrgsOutputBodyAdditional from json. +func (s *ListOrgsOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ListOrgsOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ListOrgsOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ListOrgsOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ListOrgsOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ListProjectMembersOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -4617,6 +6850,13 @@ func (s *ListProjectMembersOutputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfListProjectMembersOutputBody = [2]string{ @@ -4630,6 +6870,7 @@ func (s *ListProjectMembersOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ListProjectMembersOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -4662,7 +6903,18 @@ func (s *ListProjectMembersOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"members\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -4717,6 +6969,64 @@ func (s *ListProjectMembersOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ListProjectMembersOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ListProjectMembersOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ListProjectMembersOutputBodyAdditional from json. +func (s *ListProjectMembersOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ListProjectMembersOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ListProjectMembersOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ListProjectMembersOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ListProjectMembersOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ListProjectReposOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -4740,6 +7050,13 @@ func (s *ListProjectReposOutputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfListProjectReposOutputBody = [2]string{ @@ -4753,6 +7070,7 @@ func (s *ListProjectReposOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ListProjectReposOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -4785,7 +7103,18 @@ func (s *ListProjectReposOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"repos\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -4840,6 +7169,64 @@ func (s *ListProjectReposOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ListProjectReposOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ListProjectReposOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ListProjectReposOutputBodyAdditional from json. +func (s *ListProjectReposOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ListProjectReposOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ListProjectReposOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ListProjectReposOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ListProjectReposOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ListProjectsOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -4871,6 +7258,13 @@ func (s *ListProjectsOutputBody) encodeFields(e *jx.Encoder) { e.ArrEnd() } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfListProjectsOutputBody = [3]string{ @@ -4884,6 +7278,7 @@ func (s *ListProjectsOutputBody) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode ListProjectsOutputBody to nil") } + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -4925,7 +7320,18 @@ func (s *ListProjectsOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"projects\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -4948,6 +7354,64 @@ func (s *ListProjectsOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ListProjectsOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ListProjectsOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ListProjectsOutputBodyAdditional from json. +func (s *ListProjectsOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ListProjectsOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ListProjectsOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ListProjectsOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ListProjectsOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ListServiceAccountGrantsOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -4971,6 +7435,13 @@ func (s *ListServiceAccountGrantsOutputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfListServiceAccountGrantsOutputBody = [2]string{ @@ -4984,6 +7455,7 @@ func (s *ListServiceAccountGrantsOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ListServiceAccountGrantsOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -5016,7 +7488,18 @@ func (s *ListServiceAccountGrantsOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"grants\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -5071,6 +7554,64 @@ func (s *ListServiceAccountGrantsOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ListServiceAccountGrantsOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ListServiceAccountGrantsOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ListServiceAccountGrantsOutputBodyAdditional from json. +func (s *ListServiceAccountGrantsOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ListServiceAccountGrantsOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ListServiceAccountGrantsOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ListServiceAccountGrantsOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ListServiceAccountGrantsOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ListServiceAccountsOutputBody) Encode(e *jx.Encoder) { e.ObjStart() @@ -5094,6 +7635,13 @@ func (s *ListServiceAccountsOutputBody) encodeFields(e *jx.Encoder) { } e.ArrEnd() } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfListServiceAccountsOutputBody = [2]string{ @@ -5107,6 +7655,7 @@ func (s *ListServiceAccountsOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ListServiceAccountsOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -5139,7 +7688,18 @@ func (s *ListServiceAccountsOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"serviceAccounts\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -5194,6 +7754,64 @@ func (s *ListServiceAccountsOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ListServiceAccountsOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ListServiceAccountsOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ListServiceAccountsOutputBodyAdditional from json. +func (s *ListServiceAccountsOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ListServiceAccountsOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ListServiceAccountsOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ListServiceAccountsOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ListServiceAccountsOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *LookupRef) Encode(e *jx.Encoder) { e.ObjStart() @@ -5211,6 +7829,13 @@ func (s *LookupRef) encodeFields(e *jx.Encoder) { e.FieldStart("type") e.Str(s.Type) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfLookupRef = [2]string{ @@ -5224,6 +7849,7 @@ func (s *LookupRef) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode LookupRef to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -5252,7 +7878,18 @@ func (s *LookupRef) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"type\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -5307,6 +7944,64 @@ func (s *LookupRef) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s LookupRefAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s LookupRefAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes LookupRefAdditional from json. +func (s *LookupRefAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode LookupRefAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode LookupRefAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s LookupRefAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *LookupRefAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *LookupRefResult) Encode(e *jx.Encoder) { e.ObjStart() @@ -5354,6 +8049,13 @@ func (s *LookupRefResult) encodeFields(e *jx.Encoder) { s.URL.Encode(e) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfLookupRefResult = [7]string{ @@ -5372,6 +8074,7 @@ func (s *LookupRefResult) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode LookupRefResult to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -5450,7 +8153,18 @@ func (s *LookupRefResult) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"url\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -5505,6 +8219,64 @@ func (s *LookupRefResult) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s LookupRefResultAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s LookupRefResultAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes LookupRefResultAdditional from json. +func (s *LookupRefResultAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode LookupRefResultAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode LookupRefResultAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s LookupRefResultAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *LookupRefResultAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes LookupRefResultOwnerType as json. func (s LookupRefResultOwnerType) Encode(e *jx.Encoder) { e.Str(string(s)) @@ -5590,6 +8362,13 @@ func (s *LookupResourcesOutputBody) encodeFields(e *jx.Encoder) { e.ArrEnd() } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfLookupResourcesOutputBody = [5]string{ @@ -5606,6 +8385,7 @@ func (s *LookupResourcesOutputBody) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode LookupResourcesOutputBody to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -5678,7 +8458,18 @@ func (s *LookupResourcesOutputBody) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"resources\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -5733,6 +8524,64 @@ func (s *LookupResourcesOutputBody) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s LookupResourcesOutputBodyAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s LookupResourcesOutputBodyAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes LookupResourcesOutputBodyAdditional from json. +func (s *LookupResourcesOutputBodyAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode LookupResourcesOutputBodyAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode LookupResourcesOutputBodyAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s LookupResourcesOutputBodyAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *LookupResourcesOutputBodyAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *MeAuth) Encode(e *jx.Encoder) { e.ObjStart() @@ -5750,6 +8599,13 @@ func (s *MeAuth) encodeFields(e *jx.Encoder) { e.FieldStart("providerUserId") e.Str(s.ProviderUserId) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfMeAuth = [2]string{ @@ -5763,6 +8619,7 @@ func (s *MeAuth) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode MeAuth to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -5791,7 +8648,18 @@ func (s *MeAuth) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"providerUserId\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -5846,6 +8714,64 @@ func (s *MeAuth) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s MeAuthAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s MeAuthAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes MeAuthAdditional from json. +func (s *MeAuthAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode MeAuthAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode MeAuthAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s MeAuthAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *MeAuthAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *MeGlobal) Encode(e *jx.Encoder) { e.ObjStart() @@ -5885,6 +8811,13 @@ func (s *MeGlobal) encodeFields(e *jx.Encoder) { s.HomeJurisdiction.Encode(e) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfMeGlobal = [5]string{ @@ -5901,6 +8834,7 @@ func (s *MeGlobal) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode MeGlobal to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -5965,7 +8899,18 @@ func (s *MeGlobal) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"homeJurisdiction\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -6020,6 +8965,64 @@ func (s *MeGlobal) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s MeGlobalAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s MeGlobalAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes MeGlobalAdditional from json. +func (s *MeGlobalAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode MeGlobalAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode MeGlobalAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s MeGlobalAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *MeGlobalAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *MeIdentityHandle) Encode(e *jx.Encoder) { e.ObjStart() @@ -6041,6 +9044,13 @@ func (s *MeIdentityHandle) encodeFields(e *jx.Encoder) { e.FieldStart("providerUserId") e.Str(s.ProviderUserId) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfMeIdentityHandle = [3]string{ @@ -6055,6 +9065,7 @@ func (s *MeIdentityHandle) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode MeIdentityHandle to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -6095,7 +9106,18 @@ func (s *MeIdentityHandle) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"providerUserId\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -6150,6 +9172,64 @@ func (s *MeIdentityHandle) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s MeIdentityHandleAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s MeIdentityHandleAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes MeIdentityHandleAdditional from json. +func (s *MeIdentityHandleAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode MeIdentityHandleAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode MeIdentityHandleAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s MeIdentityHandleAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *MeIdentityHandleAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *MeRegional) Encode(e *jx.Encoder) { e.ObjStart() @@ -6189,6 +9269,13 @@ func (s *MeRegional) encodeFields(e *jx.Encoder) { s.Location.Encode(e) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfMeRegional = [5]string{ @@ -6204,6 +9291,7 @@ func (s *MeRegional) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode MeRegional to nil") } + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -6258,7 +9346,18 @@ func (s *MeRegional) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"location\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -6281,6 +9380,64 @@ func (s *MeRegional) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s MeRegionalAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s MeRegionalAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes MeRegionalAdditional from json. +func (s *MeRegionalAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode MeRegionalAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode MeRegionalAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s MeRegionalAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *MeRegionalAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *MeRegionalUnavailable) Encode(e *jx.Encoder) { e.ObjStart() @@ -6306,6 +9463,13 @@ func (s *MeRegionalUnavailable) encodeFields(e *jx.Encoder) { e.FieldStart("message") e.Str(s.Message) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfMeRegionalUnavailable = [4]string{ @@ -6321,6 +9485,7 @@ func (s *MeRegionalUnavailable) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode MeRegionalUnavailable to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -6371,7 +9536,18 @@ func (s *MeRegionalUnavailable) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"message\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -6426,6 +9602,64 @@ func (s *MeRegionalUnavailable) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s MeRegionalUnavailableAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s MeRegionalUnavailableAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes MeRegionalUnavailableAdditional from json. +func (s *MeRegionalUnavailableAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode MeRegionalUnavailableAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode MeRegionalUnavailableAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s MeRegionalUnavailableAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *MeRegionalUnavailableAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes MeRegionalUnavailableError as json. func (s MeRegionalUnavailableError) Encode(e *jx.Encoder) { e.Str(string(s)) @@ -6509,6 +9743,13 @@ func (s *Membership) encodeFields(e *jx.Encoder) { s.WorkosOrgMembershipId.Encode(e) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfMembership = [8]string{ @@ -6528,6 +9769,7 @@ func (s *Membership) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode Membership to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -6624,7 +9866,18 @@ func (s *Membership) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"workosOrgMembershipId\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -6679,6 +9932,64 @@ func (s *Membership) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s MembershipAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s MembershipAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes MembershipAdditional from json. +func (s *MembershipAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode MembershipAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode MembershipAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s MembershipAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *MembershipAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *Mirror) Encode(e *jx.Encoder) { e.ObjStart() @@ -6748,6 +10059,13 @@ func (s *Mirror) encodeFields(e *jx.Encoder) { s.SuspendedAt.Encode(e, json.EncodeDateTime) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfMirror = [12]string{ @@ -6771,6 +10089,7 @@ func (s *Mirror) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode Mirror to nil") } var requiredBitSet [2]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -6907,7 +10226,18 @@ func (s *Mirror) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"suspendedAt\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -6963,6 +10293,64 @@ func (s *Mirror) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s MirrorAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s MirrorAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes MirrorAdditional from json. +func (s *MirrorAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode MirrorAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode MirrorAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s MirrorAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *MirrorAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *OIDCProvider) Encode(e *jx.Encoder) { e.ObjStart() @@ -6992,6 +10380,13 @@ func (s *OIDCProvider) encodeFields(e *jx.Encoder) { e.FieldStart("issuer") e.Str(s.Issuer) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfOIDCProvider = [4]string{ @@ -7007,6 +10402,7 @@ func (s *OIDCProvider) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode OIDCProvider to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -7055,7 +10451,18 @@ func (s *OIDCProvider) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"issuer\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -7110,6 +10517,64 @@ func (s *OIDCProvider) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s OIDCProviderAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s OIDCProviderAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes OIDCProviderAdditional from json. +func (s *OIDCProviderAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode OIDCProviderAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode OIDCProviderAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s OIDCProviderAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *OIDCProviderAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes AddOrgMemberInputBodyRole as json. func (o OptAddOrgMemberInputBodyRole) Encode(e *jx.Encoder) { if !o.Set { @@ -7753,6 +11218,13 @@ func (s *Org) encodeFields(e *jx.Encoder) { s.WorkosOrganizationId.Encode(e) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfOrg = [6]string{ @@ -7770,6 +11242,7 @@ func (s *Org) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode Org to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -7842,7 +11315,18 @@ func (s *Org) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"workosOrganizationId\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -7897,6 +11381,64 @@ func (s *Org) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s OrgAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s OrgAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes OrgAdditional from json. +func (s *OrgAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode OrgAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode OrgAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s OrgAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *OrgAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *Project) Encode(e *jx.Encoder) { e.ObjStart() @@ -7936,6 +11478,13 @@ func (s *Project) encodeFields(e *jx.Encoder) { e.FieldStart("region") e.Str(s.Region) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfProject = [7]string{ @@ -7954,6 +11503,7 @@ func (s *Project) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode Project to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -8038,7 +11588,18 @@ func (s *Project) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"region\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -8093,6 +11654,64 @@ func (s *Project) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ProjectAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ProjectAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ProjectAdditional from json. +func (s *ProjectAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ProjectAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ProjectAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ProjectAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ProjectAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ProjectGrant) Encode(e *jx.Encoder) { e.ObjStart() @@ -8114,6 +11733,13 @@ func (s *ProjectGrant) encodeFields(e *jx.Encoder) { e.FieldStart("role") e.Str(s.Role) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfProjectGrant = [3]string{ @@ -8128,6 +11754,7 @@ func (s *ProjectGrant) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ProjectGrant to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -8168,7 +11795,18 @@ func (s *ProjectGrant) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"role\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -8223,6 +11861,64 @@ func (s *ProjectGrant) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ProjectGrantAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ProjectGrantAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ProjectGrantAdditional from json. +func (s *ProjectGrantAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ProjectGrantAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ProjectGrantAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ProjectGrantAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ProjectGrantAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes ProjectOwnerType as json. func (s ProjectOwnerType) Encode(e *jx.Encoder) { e.Str(string(s)) @@ -8332,6 +12028,13 @@ func (s *Repo) encodeFields(e *jx.Encoder) { s.State.Encode(e) } } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfRepo = [11]string{ @@ -8354,6 +12057,7 @@ func (s *Repo) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode Repo to nil") } var requiredBitSet [2]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -8474,7 +12178,18 @@ func (s *Repo) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"state\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -8530,6 +12245,64 @@ func (s *Repo) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s RepoAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s RepoAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes RepoAdditional from json. +func (s *RepoAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode RepoAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode RepoAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s RepoAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *RepoAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode encodes RepoObjectFormat as json. func (s RepoObjectFormat) Encode(e *jx.Encoder) { e.Str(string(s)) @@ -8643,6 +12416,13 @@ func (s *ResolvedIdentity) encodeFields(e *jx.Encoder) { e.FieldStart("providerUserId") e.Str(s.ProviderUserId) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfResolvedIdentity = [5]string{ @@ -8659,6 +12439,7 @@ func (s *ResolvedIdentity) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ResolvedIdentity to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -8721,7 +12502,18 @@ func (s *ResolvedIdentity) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"providerUserId\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -8776,6 +12568,64 @@ func (s *ResolvedIdentity) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ResolvedIdentityAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ResolvedIdentityAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ResolvedIdentityAdditional from json. +func (s *ResolvedIdentityAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ResolvedIdentityAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ResolvedIdentityAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ResolvedIdentityAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ResolvedIdentityAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ResourceAccess) Encode(e *jx.Encoder) { e.ObjStart() @@ -8797,6 +12647,13 @@ func (s *ResourceAccess) encodeFields(e *jx.Encoder) { e.FieldStart("resourceId") e.Str(s.ResourceId) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfResourceAccess = [2]string{ @@ -8810,6 +12667,7 @@ func (s *ResourceAccess) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ResourceAccess to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -8846,7 +12704,18 @@ func (s *ResourceAccess) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"resourceId\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -8901,6 +12770,64 @@ func (s *ResourceAccess) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ResourceAccessAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ResourceAccessAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ResourceAccessAdditional from json. +func (s *ResourceAccessAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ResourceAccessAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ResourceAccessAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ResourceAccessAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ResourceAccessAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ServiceAccount) Encode(e *jx.Encoder) { e.ObjStart() @@ -8940,6 +12867,13 @@ func (s *ServiceAccount) encodeFields(e *jx.Encoder) { e.FieldStart("systemManaged") e.Bool(s.SystemManaged) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfServiceAccount = [7]string{ @@ -8958,6 +12892,7 @@ func (s *ServiceAccount) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ServiceAccount to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -9044,7 +12979,18 @@ func (s *ServiceAccount) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"systemManaged\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -9099,6 +13045,64 @@ func (s *ServiceAccount) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ServiceAccountAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ServiceAccountAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ServiceAccountAdditional from json. +func (s *ServiceAccountAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ServiceAccountAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ServiceAccountAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ServiceAccountAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ServiceAccountAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ServiceAccountGrant) Encode(e *jx.Encoder) { e.ObjStart() @@ -9126,6 +13130,13 @@ func (s *ServiceAccountGrant) encodeFields(e *jx.Encoder) { e.FieldStart("role") e.Str(s.Role) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfServiceAccountGrant = [4]string{ @@ -9141,6 +13152,7 @@ func (s *ServiceAccountGrant) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ServiceAccountGrant to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -9191,7 +13203,18 @@ func (s *ServiceAccountGrant) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"role\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -9246,6 +13269,64 @@ func (s *ServiceAccountGrant) UnmarshalJSON(data []byte) error { return s.Decode(d) } +// Encode implements json.Marshaler. +func (s ServiceAccountGrantAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ServiceAccountGrantAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ServiceAccountGrantAdditional from json. +func (s *ServiceAccountGrantAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ServiceAccountGrantAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ServiceAccountGrantAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ServiceAccountGrantAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ServiceAccountGrantAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} + // Encode implements json.Marshaler. func (s *ServiceAccountWithGrants) Encode(e *jx.Encoder) { e.ObjStart() @@ -9287,6 +13368,13 @@ func (s *ServiceAccountWithGrants) encodeFields(e *jx.Encoder) { e.FieldStart("systemManaged") e.Bool(s.SystemManaged) } + for k, elem := range s.AdditionalProps { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } } var jsonFieldsNameOfServiceAccountWithGrants = [7]string{ @@ -9305,6 +13393,7 @@ func (s *ServiceAccountWithGrants) Decode(d *jx.Decoder) error { return errors.New("invalid: unable to decode ServiceAccountWithGrants to nil") } var requiredBitSet [1]uint8 + s.AdditionalProps = map[string]jx.Raw{} if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -9401,7 +13490,18 @@ func (s *ServiceAccountWithGrants) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"systemManaged\"") } default: - return errors.Errorf("unexpected field %q", k) + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + s.AdditionalProps[string(k)] = elem } return nil }); err != nil { @@ -9455,3 +13555,61 @@ func (s *ServiceAccountWithGrants) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } + +// Encode implements json.Marshaler. +func (s ServiceAccountWithGrantsAdditional) Encode(e *jx.Encoder) { + e.ObjStart() + s.encodeFields(e) + e.ObjEnd() +} + +// encodeFields implements json.Marshaler. +func (s ServiceAccountWithGrantsAdditional) encodeFields(e *jx.Encoder) { + for k, elem := range s { + e.FieldStart(k) + + if len(elem) != 0 { + e.Raw(elem) + } + } +} + +// Decode decodes ServiceAccountWithGrantsAdditional from json. +func (s *ServiceAccountWithGrantsAdditional) Decode(d *jx.Decoder) error { + if s == nil { + return errors.New("invalid: unable to decode ServiceAccountWithGrantsAdditional to nil") + } + m := s.init() + if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { + var elem jx.Raw + if err := func() error { + v, err := d.RawAppend(nil) + elem = jx.Raw(v) + if err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrapf(err, "decode field %q", k) + } + m[string(k)] = elem + return nil + }); err != nil { + return errors.Wrap(err, "decode ServiceAccountWithGrantsAdditional") + } + + return nil +} + +// MarshalJSON implements stdjson.Marshaler. +func (s ServiceAccountWithGrantsAdditional) MarshalJSON() ([]byte, error) { + e := jx.Encoder{} + s.Encode(&e) + return e.Bytes(), nil +} + +// UnmarshalJSON implements stdjson.Unmarshaler. +func (s *ServiceAccountWithGrantsAdditional) UnmarshalJSON(data []byte) error { + d := jx.DecodeBytes(data) + return s.Decode(d) +} diff --git a/internal/coreapi/oas_schemas_gen.go b/internal/coreapi/oas_schemas_gen.go index dfd07ddd6..5fd1b46c4 100644 --- a/internal/coreapi/oas_schemas_gen.go +++ b/internal/coreapi/oas_schemas_gen.go @@ -22,7 +22,8 @@ type AddOrgMemberInputBody struct { Provider string `json:"provider"` ProviderUserId string `json:"providerUserId"` // Role at the org; defaults to member. - Role OptAddOrgMemberInputBodyRole `json:"role"` + Role OptAddOrgMemberInputBodyRole `json:"role"` + AdditionalProps AddOrgMemberInputBodyAdditional } // GetSchema returns the value of Schema. @@ -45,6 +46,11 @@ func (s *AddOrgMemberInputBody) GetRole() OptAddOrgMemberInputBodyRole { return s.Role } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *AddOrgMemberInputBody) GetAdditionalProps() AddOrgMemberInputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *AddOrgMemberInputBody) SetSchema(val OptURI) { s.Schema = val @@ -65,6 +71,22 @@ func (s *AddOrgMemberInputBody) SetRole(val OptAddOrgMemberInputBodyRole) { s.Role = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *AddOrgMemberInputBody) SetAdditionalProps(val AddOrgMemberInputBodyAdditional) { + s.AdditionalProps = val +} + +type AddOrgMemberInputBodyAdditional map[string]jx.Raw + +func (s *AddOrgMemberInputBodyAdditional) init() AddOrgMemberInputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Role at the org; defaults to member. type AddOrgMemberInputBodyRole string @@ -120,9 +142,10 @@ type AuditEvent struct { EventType string `json:"eventType"` ID string `json:"id"` // Source IP recorded when the event was logged. - IpAddress OptString `json:"ipAddress"` - Metadata OptAuditEventMetadata `json:"metadata"` - OccurredAt time.Time `json:"occurredAt"` + IpAddress OptString `json:"ipAddress"` + Metadata OptAuditEventMetadata `json:"metadata"` + OccurredAt time.Time `json:"occurredAt"` + AdditionalProps AuditEventAdditional } // GetActorId returns the value of ActorId. @@ -155,6 +178,11 @@ func (s *AuditEvent) GetOccurredAt() time.Time { return s.OccurredAt } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *AuditEvent) GetAdditionalProps() AuditEventAdditional { + return s.AdditionalProps +} + // SetActorId sets the value of ActorId. func (s *AuditEvent) SetActorId(val string) { s.ActorId = val @@ -185,6 +213,22 @@ func (s *AuditEvent) SetOccurredAt(val time.Time) { s.OccurredAt = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *AuditEvent) SetAdditionalProps(val AuditEventAdditional) { + s.AdditionalProps = val +} + +type AuditEventAdditional map[string]jx.Raw + +func (s *AuditEventAdditional) init() AuditEventAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + type AuditEventMetadata map[string]jx.Raw func (s *AuditEventMetadata) init() AuditEventMetadata { @@ -199,8 +243,9 @@ func (s *AuditEventMetadata) init() AuditEventMetadata { // Ref: #/components/schemas/BatchLookupInputBody type BatchLookupInputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Refs []LookupRef `json:"refs"` + Schema OptURI `json:"$schema"` + Refs []LookupRef `json:"refs"` + AdditionalProps BatchLookupInputBodyAdditional } // GetSchema returns the value of Schema. @@ -213,6 +258,11 @@ func (s *BatchLookupInputBody) GetRefs() []LookupRef { return s.Refs } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *BatchLookupInputBody) GetAdditionalProps() BatchLookupInputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *BatchLookupInputBody) SetSchema(val OptURI) { s.Schema = val @@ -223,11 +273,28 @@ func (s *BatchLookupInputBody) SetRefs(val []LookupRef) { s.Refs = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *BatchLookupInputBody) SetAdditionalProps(val BatchLookupInputBodyAdditional) { + s.AdditionalProps = val +} + +type BatchLookupInputBodyAdditional map[string]jx.Raw + +func (s *BatchLookupInputBodyAdditional) init() BatchLookupInputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/BatchLookupOutputBody type BatchLookupOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Refs []LookupRefResult `json:"refs"` + Schema OptURI `json:"$schema"` + Refs []LookupRefResult `json:"refs"` + AdditionalProps BatchLookupOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -240,6 +307,11 @@ func (s *BatchLookupOutputBody) GetRefs() []LookupRefResult { return s.Refs } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *BatchLookupOutputBody) GetAdditionalProps() BatchLookupOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *BatchLookupOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -250,6 +322,22 @@ func (s *BatchLookupOutputBody) SetRefs(val []LookupRefResult) { s.Refs = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *BatchLookupOutputBody) SetAdditionalProps(val BatchLookupOutputBodyAdditional) { + s.AdditionalProps = val +} + +type BatchLookupOutputBodyAdditional map[string]jx.Raw + +func (s *BatchLookupOutputBodyAdditional) init() BatchLookupOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + type BearerAuth struct { Token string Roles []string @@ -284,6 +372,7 @@ type Binding struct { CreatedAt time.Time `json:"createdAt"` ID string `json:"id"` ProviderId string `json:"providerId"` + AdditionalProps BindingAdditional } // GetSchema returns the value of Schema. @@ -316,6 +405,11 @@ func (s *Binding) GetProviderId() string { return s.ProviderId } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *Binding) GetAdditionalProps() BindingAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *Binding) SetSchema(val OptURI) { s.Schema = val @@ -346,6 +440,22 @@ func (s *Binding) SetProviderId(val string) { s.ProviderId = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *Binding) SetAdditionalProps(val BindingAdditional) { + s.AdditionalProps = val +} + +type BindingAdditional map[string]jx.Raw + +func (s *BindingAdditional) init() BindingAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/CreateBindingInputBody type CreateBindingInputBody struct { // A URL to the JSON Schema for this object. @@ -353,6 +463,7 @@ type CreateBindingInputBody struct { // Exact-match key/value map; empty filter matches any token. AttributeFilter jx.Raw `json:"attributeFilter"` ProviderId string `json:"providerId"` + AdditionalProps CreateBindingInputBodyAdditional } // GetSchema returns the value of Schema. @@ -370,6 +481,11 @@ func (s *CreateBindingInputBody) GetProviderId() string { return s.ProviderId } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *CreateBindingInputBody) GetAdditionalProps() CreateBindingInputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *CreateBindingInputBody) SetSchema(val OptURI) { s.Schema = val @@ -385,15 +501,32 @@ func (s *CreateBindingInputBody) SetProviderId(val string) { s.ProviderId = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *CreateBindingInputBody) SetAdditionalProps(val CreateBindingInputBodyAdditional) { + s.AdditionalProps = val +} + +type CreateBindingInputBodyAdditional map[string]jx.Raw + +func (s *CreateBindingInputBodyAdditional) init() CreateBindingInputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/CreateMirrorInputBody type CreateMirrorInputBody struct { // A URL to the JSON Schema for this object. Schema OptURI `json:"$schema"` // DNS host of the destination cluster. - ClusterHost string `json:"clusterHost"` - Owner string `json:"owner"` - Provider CreateMirrorInputBodyProvider `json:"provider"` - Repo string `json:"repo"` + ClusterHost string `json:"clusterHost"` + Owner string `json:"owner"` + Provider CreateMirrorInputBodyProvider `json:"provider"` + Repo string `json:"repo"` + AdditionalProps CreateMirrorInputBodyAdditional } // GetSchema returns the value of Schema. @@ -421,6 +554,11 @@ func (s *CreateMirrorInputBody) GetRepo() string { return s.Repo } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *CreateMirrorInputBody) GetAdditionalProps() CreateMirrorInputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *CreateMirrorInputBody) SetSchema(val OptURI) { s.Schema = val @@ -446,6 +584,22 @@ func (s *CreateMirrorInputBody) SetRepo(val string) { s.Repo = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *CreateMirrorInputBody) SetAdditionalProps(val CreateMirrorInputBodyAdditional) { + s.AdditionalProps = val +} + +type CreateMirrorInputBodyAdditional map[string]jx.Raw + +func (s *CreateMirrorInputBodyAdditional) init() CreateMirrorInputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + type CreateMirrorInputBodyProvider string const ( @@ -487,7 +641,8 @@ type CreateOrgInputBody struct { // Display name. Name string `json:"name"` // Jurisdiction slug; defaults to the server's home jurisdiction. - Region OptString `json:"region"` + Region OptString `json:"region"` + AdditionalProps CreateOrgInputBodyAdditional } // GetSchema returns the value of Schema. @@ -505,6 +660,11 @@ func (s *CreateOrgInputBody) GetRegion() OptString { return s.Region } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *CreateOrgInputBody) GetAdditionalProps() CreateOrgInputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *CreateOrgInputBody) SetSchema(val OptURI) { s.Schema = val @@ -520,14 +680,31 @@ func (s *CreateOrgInputBody) SetRegion(val OptString) { s.Region = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *CreateOrgInputBody) SetAdditionalProps(val CreateOrgInputBodyAdditional) { + s.AdditionalProps = val +} + +type CreateOrgInputBodyAdditional map[string]jx.Raw + +func (s *CreateOrgInputBodyAdditional) init() CreateOrgInputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/CreateProjectInputBody type CreateProjectInputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Name string `json:"name"` - OwnerId string `json:"ownerId"` - OwnerType CreateProjectInputBodyOwnerType `json:"ownerType"` - Region OptString `json:"region"` + Schema OptURI `json:"$schema"` + Name string `json:"name"` + OwnerId string `json:"ownerId"` + OwnerType CreateProjectInputBodyOwnerType `json:"ownerType"` + Region OptString `json:"region"` + AdditionalProps CreateProjectInputBodyAdditional } // GetSchema returns the value of Schema. @@ -555,6 +732,11 @@ func (s *CreateProjectInputBody) GetRegion() OptString { return s.Region } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *CreateProjectInputBody) GetAdditionalProps() CreateProjectInputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *CreateProjectInputBody) SetSchema(val OptURI) { s.Schema = val @@ -580,6 +762,22 @@ func (s *CreateProjectInputBody) SetRegion(val OptString) { s.Region = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *CreateProjectInputBody) SetAdditionalProps(val CreateProjectInputBodyAdditional) { + s.AdditionalProps = val +} + +type CreateProjectInputBodyAdditional map[string]jx.Raw + +func (s *CreateProjectInputBodyAdditional) init() CreateProjectInputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + type CreateProjectInputBodyOwnerType string const ( @@ -630,8 +828,9 @@ type CreateRepoInputBody struct { ClusterHost OptString `json:"clusterHost"` Name string `json:"name"` // Hash format; defaults to sha1. - ObjectFormat OptCreateRepoInputBodyObjectFormat `json:"objectFormat"` - ProjectId string `json:"projectId"` + ObjectFormat OptCreateRepoInputBodyObjectFormat `json:"objectFormat"` + ProjectId string `json:"projectId"` + AdditionalProps CreateRepoInputBodyAdditional } // GetSchema returns the value of Schema. @@ -659,6 +858,11 @@ func (s *CreateRepoInputBody) GetProjectId() string { return s.ProjectId } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *CreateRepoInputBody) GetAdditionalProps() CreateRepoInputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *CreateRepoInputBody) SetSchema(val OptURI) { s.Schema = val @@ -684,6 +888,22 @@ func (s *CreateRepoInputBody) SetProjectId(val string) { s.ProjectId = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *CreateRepoInputBody) SetAdditionalProps(val CreateRepoInputBodyAdditional) { + s.AdditionalProps = val +} + +type CreateRepoInputBodyAdditional map[string]jx.Raw + +func (s *CreateRepoInputBodyAdditional) init() CreateRepoInputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Hash format; defaults to sha1. type CreateRepoInputBodyObjectFormat string @@ -729,9 +949,10 @@ func (s *CreateRepoInputBodyObjectFormat) UnmarshalText(data []byte) error { // Ref: #/components/schemas/CreateServiceAccountInputBody type CreateServiceAccountInputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Name string `json:"name"` - OrgId string `json:"orgId"` + Schema OptURI `json:"$schema"` + Name string `json:"name"` + OrgId string `json:"orgId"` + AdditionalProps CreateServiceAccountInputBodyAdditional } // GetSchema returns the value of Schema. @@ -749,6 +970,11 @@ func (s *CreateServiceAccountInputBody) GetOrgId() string { return s.OrgId } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *CreateServiceAccountInputBody) GetAdditionalProps() CreateServiceAccountInputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *CreateServiceAccountInputBody) SetSchema(val OptURI) { s.Schema = val @@ -764,6 +990,22 @@ func (s *CreateServiceAccountInputBody) SetOrgId(val string) { s.OrgId = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *CreateServiceAccountInputBody) SetAdditionalProps(val CreateServiceAccountInputBodyAdditional) { + s.AdditionalProps = val +} + +type CreateServiceAccountInputBodyAdditional map[string]jx.Raw + +func (s *CreateServiceAccountInputBodyAdditional) init() CreateServiceAccountInputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/CreatedMirror type CreatedMirror struct { // A URL to the JSON Schema for this object. @@ -771,10 +1013,11 @@ type CreatedMirror struct { // True on fresh creation; false when an existing mirror was returned. Created bool `json:"created"` // True when the upstream has no refs to clone. - Empty bool `json:"empty"` - MirrorId string `json:"mirrorId"` - MirrorUrl string `json:"mirrorUrl"` - PublicUrl string `json:"publicUrl"` + Empty bool `json:"empty"` + MirrorId string `json:"mirrorId"` + MirrorUrl string `json:"mirrorUrl"` + PublicUrl string `json:"publicUrl"` + AdditionalProps CreatedMirrorAdditional } // GetSchema returns the value of Schema. @@ -807,6 +1050,11 @@ func (s *CreatedMirror) GetPublicUrl() string { return s.PublicUrl } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *CreatedMirror) GetAdditionalProps() CreatedMirrorAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *CreatedMirror) SetSchema(val OptURI) { s.Schema = val @@ -837,6 +1085,22 @@ func (s *CreatedMirror) SetPublicUrl(val string) { s.PublicUrl = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *CreatedMirror) SetAdditionalProps(val CreatedMirrorAdditional) { + s.AdditionalProps = val +} + +type CreatedMirrorAdditional map[string]jx.Raw + +func (s *CreatedMirrorAdditional) init() CreatedMirrorAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // DeleteBindingNoContent is response for DeleteBinding operation. type DeleteBindingNoContent struct{} @@ -890,7 +1154,8 @@ type ErrorDetail struct { // Error message text. Message OptString `json:"message"` // The value at the given location. - Value jx.Raw `json:"value"` + Value jx.Raw `json:"value"` + AdditionalProps ErrorDetailAdditional } // GetLocation returns the value of Location. @@ -908,6 +1173,11 @@ func (s *ErrorDetail) GetValue() jx.Raw { return s.Value } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ErrorDetail) GetAdditionalProps() ErrorDetailAdditional { + return s.AdditionalProps +} + // SetLocation sets the value of Location. func (s *ErrorDetail) SetLocation(val OptString) { s.Location = val @@ -923,6 +1193,22 @@ func (s *ErrorDetail) SetValue(val jx.Raw) { s.Value = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ErrorDetail) SetAdditionalProps(val ErrorDetailAdditional) { + s.AdditionalProps = val +} + +type ErrorDetailAdditional map[string]jx.Raw + +func (s *ErrorDetailAdditional) init() ErrorDetailAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ErrorModel type ErrorModel struct { // A URL to the JSON Schema for this object. @@ -939,7 +1225,8 @@ type ErrorModel struct { // occurrences of the error. Title OptString `json:"title"` // A URI reference to human-readable documentation for the error. - Type OptURI `json:"type"` + Type OptURI `json:"type"` + AdditionalProps ErrorModelAdditional } // GetSchema returns the value of Schema. @@ -977,6 +1264,11 @@ func (s *ErrorModel) GetType() OptURI { return s.Type } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ErrorModel) GetAdditionalProps() ErrorModelAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ErrorModel) SetSchema(val OptURI) { s.Schema = val @@ -1012,6 +1304,22 @@ func (s *ErrorModel) SetType(val OptURI) { s.Type = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ErrorModel) SetAdditionalProps(val ErrorModelAdditional) { + s.AdditionalProps = val +} + +type ErrorModelAdditional map[string]jx.Raw + +func (s *ErrorModelAdditional) init() ErrorModelAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // ErrorModelStatusCode wraps ErrorModel with StatusCode. type ErrorModelStatusCode struct { StatusCode int @@ -1048,6 +1356,7 @@ type GetMeOutputBody struct { Mode OptGetMeOutputBodyMode `json:"mode"` Regional OptMeRegional `json:"regional"` RegionalUnavailable OptMeRegionalUnavailable `json:"regionalUnavailable"` + AdditionalProps GetMeOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1085,6 +1394,11 @@ func (s *GetMeOutputBody) GetRegionalUnavailable() OptMeRegionalUnavailable { return s.RegionalUnavailable } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *GetMeOutputBody) GetAdditionalProps() GetMeOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *GetMeOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1120,6 +1434,22 @@ func (s *GetMeOutputBody) SetRegionalUnavailable(val OptMeRegionalUnavailable) { s.RegionalUnavailable = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *GetMeOutputBody) SetAdditionalProps(val GetMeOutputBodyAdditional) { + s.AdditionalProps = val +} + +type GetMeOutputBodyAdditional map[string]jx.Raw + +func (s *GetMeOutputBodyAdditional) init() GetMeOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + type GetMeOutputBodyMode string const ( @@ -1171,11 +1501,12 @@ func (s *GetMeOutputBodyMode) UnmarshalText(data []byte) error { // Ref: #/components/schemas/GetPermissionsOutputBody type GetPermissionsOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Explain OptGetPermissionsOutputBodyExplain `json:"explain"` - Permissions []string `json:"permissions"` - ResourceId string `json:"resourceId"` - ResourceType string `json:"resourceType"` + Schema OptURI `json:"$schema"` + Explain OptGetPermissionsOutputBodyExplain `json:"explain"` + Permissions []string `json:"permissions"` + ResourceId string `json:"resourceId"` + ResourceType string `json:"resourceType"` + AdditionalProps GetPermissionsOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1203,6 +1534,11 @@ func (s *GetPermissionsOutputBody) GetResourceType() string { return s.ResourceType } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *GetPermissionsOutputBody) GetAdditionalProps() GetPermissionsOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *GetPermissionsOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1228,6 +1564,22 @@ func (s *GetPermissionsOutputBody) SetResourceType(val string) { s.ResourceType = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *GetPermissionsOutputBody) SetAdditionalProps(val GetPermissionsOutputBodyAdditional) { + s.AdditionalProps = val +} + +type GetPermissionsOutputBodyAdditional map[string]jx.Raw + +func (s *GetPermissionsOutputBodyAdditional) init() GetPermissionsOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + type GetPermissionsOutputBodyExplain map[string]jx.Raw func (s *GetPermissionsOutputBodyExplain) init() GetPermissionsOutputBodyExplain { @@ -1242,11 +1594,12 @@ func (s *GetPermissionsOutputBodyExplain) init() GetPermissionsOutputBodyExplain // Ref: #/components/schemas/GrantProjectAccessInputBody type GrantProjectAccessInputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - GranteeType OptGrantProjectAccessInputBodyGranteeType `json:"granteeType"` - Provider string `json:"provider"` - ProviderUserId string `json:"providerUserId"` - Role string `json:"role"` + Schema OptURI `json:"$schema"` + GranteeType OptGrantProjectAccessInputBodyGranteeType `json:"granteeType"` + Provider string `json:"provider"` + ProviderUserId string `json:"providerUserId"` + Role string `json:"role"` + AdditionalProps GrantProjectAccessInputBodyAdditional } // GetSchema returns the value of Schema. @@ -1274,6 +1627,11 @@ func (s *GrantProjectAccessInputBody) GetRole() string { return s.Role } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *GrantProjectAccessInputBody) GetAdditionalProps() GrantProjectAccessInputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *GrantProjectAccessInputBody) SetSchema(val OptURI) { s.Schema = val @@ -1299,6 +1657,22 @@ func (s *GrantProjectAccessInputBody) SetRole(val string) { s.Role = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *GrantProjectAccessInputBody) SetAdditionalProps(val GrantProjectAccessInputBodyAdditional) { + s.AdditionalProps = val +} + +type GrantProjectAccessInputBodyAdditional map[string]jx.Raw + +func (s *GrantProjectAccessInputBodyAdditional) init() GrantProjectAccessInputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + type GrantProjectAccessInputBodyGranteeType string const ( @@ -1350,8 +1724,9 @@ func (s *GrantProjectAccessInputBodyGranteeType) UnmarshalText(data []byte) erro // Ref: #/components/schemas/GrantProjectAccessOutputBody type GrantProjectAccessOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Status string `json:"status"` + Schema OptURI `json:"$schema"` + Status string `json:"status"` + AdditionalProps GrantProjectAccessOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1364,6 +1739,11 @@ func (s *GrantProjectAccessOutputBody) GetStatus() string { return s.Status } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *GrantProjectAccessOutputBody) GetAdditionalProps() GrantProjectAccessOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *GrantProjectAccessOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1374,14 +1754,31 @@ func (s *GrantProjectAccessOutputBody) SetStatus(val string) { s.Status = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *GrantProjectAccessOutputBody) SetAdditionalProps(val GrantProjectAccessOutputBodyAdditional) { + s.AdditionalProps = val +} + +type GrantProjectAccessOutputBodyAdditional map[string]jx.Raw + +func (s *GrantProjectAccessOutputBodyAdditional) init() GrantProjectAccessOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/GrantRepoAccessInputBody type GrantRepoAccessInputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - GranteeType OptGrantRepoAccessInputBodyGranteeType `json:"granteeType"` - Provider string `json:"provider"` - ProviderUserId string `json:"providerUserId"` - Role string `json:"role"` + Schema OptURI `json:"$schema"` + GranteeType OptGrantRepoAccessInputBodyGranteeType `json:"granteeType"` + Provider string `json:"provider"` + ProviderUserId string `json:"providerUserId"` + Role string `json:"role"` + AdditionalProps GrantRepoAccessInputBodyAdditional } // GetSchema returns the value of Schema. @@ -1409,6 +1806,11 @@ func (s *GrantRepoAccessInputBody) GetRole() string { return s.Role } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *GrantRepoAccessInputBody) GetAdditionalProps() GrantRepoAccessInputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *GrantRepoAccessInputBody) SetSchema(val OptURI) { s.Schema = val @@ -1434,6 +1836,22 @@ func (s *GrantRepoAccessInputBody) SetRole(val string) { s.Role = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *GrantRepoAccessInputBody) SetAdditionalProps(val GrantRepoAccessInputBodyAdditional) { + s.AdditionalProps = val +} + +type GrantRepoAccessInputBodyAdditional map[string]jx.Raw + +func (s *GrantRepoAccessInputBodyAdditional) init() GrantRepoAccessInputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + type GrantRepoAccessInputBodyGranteeType string const ( @@ -1485,8 +1903,9 @@ func (s *GrantRepoAccessInputBodyGranteeType) UnmarshalText(data []byte) error { // Ref: #/components/schemas/GrantRepoAccessOutputBody type GrantRepoAccessOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Status string `json:"status"` + Schema OptURI `json:"$schema"` + Status string `json:"status"` + AdditionalProps GrantRepoAccessOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1499,6 +1918,11 @@ func (s *GrantRepoAccessOutputBody) GetStatus() string { return s.Status } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *GrantRepoAccessOutputBody) GetAdditionalProps() GrantRepoAccessOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *GrantRepoAccessOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1509,13 +1933,30 @@ func (s *GrantRepoAccessOutputBody) SetStatus(val string) { s.Status = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *GrantRepoAccessOutputBody) SetAdditionalProps(val GrantRepoAccessOutputBodyAdditional) { + s.AdditionalProps = val +} + +type GrantRepoAccessOutputBodyAdditional map[string]jx.Raw + +func (s *GrantRepoAccessOutputBodyAdditional) init() GrantRepoAccessOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/GrantServiceAccountAccessInputBody type GrantServiceAccountAccessInputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - ResourceId string `json:"resourceId"` - ResourceType GrantServiceAccountAccessInputBodyResourceType `json:"resourceType"` - Role string `json:"role"` + Schema OptURI `json:"$schema"` + ResourceId string `json:"resourceId"` + ResourceType GrantServiceAccountAccessInputBodyResourceType `json:"resourceType"` + Role string `json:"role"` + AdditionalProps GrantServiceAccountAccessInputBodyAdditional } // GetSchema returns the value of Schema. @@ -1538,6 +1979,11 @@ func (s *GrantServiceAccountAccessInputBody) GetRole() string { return s.Role } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *GrantServiceAccountAccessInputBody) GetAdditionalProps() GrantServiceAccountAccessInputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *GrantServiceAccountAccessInputBody) SetSchema(val OptURI) { s.Schema = val @@ -1558,6 +2004,22 @@ func (s *GrantServiceAccountAccessInputBody) SetRole(val string) { s.Role = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *GrantServiceAccountAccessInputBody) SetAdditionalProps(val GrantServiceAccountAccessInputBodyAdditional) { + s.AdditionalProps = val +} + +type GrantServiceAccountAccessInputBodyAdditional map[string]jx.Raw + +func (s *GrantServiceAccountAccessInputBodyAdditional) init() GrantServiceAccountAccessInputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + type GrantServiceAccountAccessInputBodyResourceType string const ( @@ -1602,8 +2064,9 @@ func (s *GrantServiceAccountAccessInputBodyResourceType) UnmarshalText(data []by // Ref: #/components/schemas/GrantServiceAccountAccessOutputBody type GrantServiceAccountAccessOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Status string `json:"status"` + Schema OptURI `json:"$schema"` + Status string `json:"status"` + AdditionalProps GrantServiceAccountAccessOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1616,6 +2079,11 @@ func (s *GrantServiceAccountAccessOutputBody) GetStatus() string { return s.Status } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *GrantServiceAccountAccessOutputBody) GetAdditionalProps() GrantServiceAccountAccessOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *GrantServiceAccountAccessOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1626,11 +2094,28 @@ func (s *GrantServiceAccountAccessOutputBody) SetStatus(val string) { s.Status = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *GrantServiceAccountAccessOutputBody) SetAdditionalProps(val GrantServiceAccountAccessOutputBodyAdditional) { + s.AdditionalProps = val +} + +type GrantServiceAccountAccessOutputBodyAdditional map[string]jx.Raw + +func (s *GrantServiceAccountAccessOutputBodyAdditional) init() GrantServiceAccountAccessOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ListAuditEventsOutputBody type ListAuditEventsOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Events []AuditEvent `json:"events"` + Schema OptURI `json:"$schema"` + Events []AuditEvent `json:"events"` + AdditionalProps ListAuditEventsOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1643,6 +2128,11 @@ func (s *ListAuditEventsOutputBody) GetEvents() []AuditEvent { return s.Events } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ListAuditEventsOutputBody) GetAdditionalProps() ListAuditEventsOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ListAuditEventsOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1653,11 +2143,28 @@ func (s *ListAuditEventsOutputBody) SetEvents(val []AuditEvent) { s.Events = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ListAuditEventsOutputBody) SetAdditionalProps(val ListAuditEventsOutputBodyAdditional) { + s.AdditionalProps = val +} + +type ListAuditEventsOutputBodyAdditional map[string]jx.Raw + +func (s *ListAuditEventsOutputBodyAdditional) init() ListAuditEventsOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ListBindingsOutputBody type ListBindingsOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Bindings []Binding `json:"bindings"` + Schema OptURI `json:"$schema"` + Bindings []Binding `json:"bindings"` + AdditionalProps ListBindingsOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1670,6 +2177,11 @@ func (s *ListBindingsOutputBody) GetBindings() []Binding { return s.Bindings } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ListBindingsOutputBody) GetAdditionalProps() ListBindingsOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ListBindingsOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1680,11 +2192,28 @@ func (s *ListBindingsOutputBody) SetBindings(val []Binding) { s.Bindings = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ListBindingsOutputBody) SetAdditionalProps(val ListBindingsOutputBodyAdditional) { + s.AdditionalProps = val +} + +type ListBindingsOutputBodyAdditional map[string]jx.Raw + +func (s *ListBindingsOutputBodyAdditional) init() ListBindingsOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ListMirrorsOutputBody type ListMirrorsOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Mirrors []Mirror `json:"mirrors"` + Schema OptURI `json:"$schema"` + Mirrors []Mirror `json:"mirrors"` + AdditionalProps ListMirrorsOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1697,6 +2226,11 @@ func (s *ListMirrorsOutputBody) GetMirrors() []Mirror { return s.Mirrors } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ListMirrorsOutputBody) GetAdditionalProps() ListMirrorsOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ListMirrorsOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1707,11 +2241,28 @@ func (s *ListMirrorsOutputBody) SetMirrors(val []Mirror) { s.Mirrors = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ListMirrorsOutputBody) SetAdditionalProps(val ListMirrorsOutputBodyAdditional) { + s.AdditionalProps = val +} + +type ListMirrorsOutputBodyAdditional map[string]jx.Raw + +func (s *ListMirrorsOutputBodyAdditional) init() ListMirrorsOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ListOIDCProvidersOutputBody type ListOIDCProvidersOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Providers []OIDCProvider `json:"providers"` + Schema OptURI `json:"$schema"` + Providers []OIDCProvider `json:"providers"` + AdditionalProps ListOIDCProvidersOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1724,6 +2275,11 @@ func (s *ListOIDCProvidersOutputBody) GetProviders() []OIDCProvider { return s.Providers } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ListOIDCProvidersOutputBody) GetAdditionalProps() ListOIDCProvidersOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ListOIDCProvidersOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1734,11 +2290,28 @@ func (s *ListOIDCProvidersOutputBody) SetProviders(val []OIDCProvider) { s.Providers = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ListOIDCProvidersOutputBody) SetAdditionalProps(val ListOIDCProvidersOutputBodyAdditional) { + s.AdditionalProps = val +} + +type ListOIDCProvidersOutputBodyAdditional map[string]jx.Raw + +func (s *ListOIDCProvidersOutputBodyAdditional) init() ListOIDCProvidersOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ListOrgMembersOutputBody type ListOrgMembersOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Members []Membership `json:"members"` + Schema OptURI `json:"$schema"` + Members []Membership `json:"members"` + AdditionalProps ListOrgMembersOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1751,6 +2324,11 @@ func (s *ListOrgMembersOutputBody) GetMembers() []Membership { return s.Members } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ListOrgMembersOutputBody) GetAdditionalProps() ListOrgMembersOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ListOrgMembersOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1761,11 +2339,28 @@ func (s *ListOrgMembersOutputBody) SetMembers(val []Membership) { s.Members = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ListOrgMembersOutputBody) SetAdditionalProps(val ListOrgMembersOutputBodyAdditional) { + s.AdditionalProps = val +} + +type ListOrgMembersOutputBodyAdditional map[string]jx.Raw + +func (s *ListOrgMembersOutputBodyAdditional) init() ListOrgMembersOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ListOrgProjectsOutputBody type ListOrgProjectsOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Projects []Project `json:"projects"` + Schema OptURI `json:"$schema"` + Projects []Project `json:"projects"` + AdditionalProps ListOrgProjectsOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1778,6 +2373,11 @@ func (s *ListOrgProjectsOutputBody) GetProjects() []Project { return s.Projects } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ListOrgProjectsOutputBody) GetAdditionalProps() ListOrgProjectsOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ListOrgProjectsOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1788,11 +2388,28 @@ func (s *ListOrgProjectsOutputBody) SetProjects(val []Project) { s.Projects = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ListOrgProjectsOutputBody) SetAdditionalProps(val ListOrgProjectsOutputBodyAdditional) { + s.AdditionalProps = val +} + +type ListOrgProjectsOutputBodyAdditional map[string]jx.Raw + +func (s *ListOrgProjectsOutputBodyAdditional) init() ListOrgProjectsOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ListOrgsOutputBody type ListOrgsOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Orgs []Org `json:"orgs"` + Schema OptURI `json:"$schema"` + Orgs []Org `json:"orgs"` + AdditionalProps ListOrgsOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1805,6 +2422,11 @@ func (s *ListOrgsOutputBody) GetOrgs() []Org { return s.Orgs } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ListOrgsOutputBody) GetAdditionalProps() ListOrgsOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ListOrgsOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1815,11 +2437,28 @@ func (s *ListOrgsOutputBody) SetOrgs(val []Org) { s.Orgs = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ListOrgsOutputBody) SetAdditionalProps(val ListOrgsOutputBodyAdditional) { + s.AdditionalProps = val +} + +type ListOrgsOutputBodyAdditional map[string]jx.Raw + +func (s *ListOrgsOutputBodyAdditional) init() ListOrgsOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ListProjectMembersOutputBody type ListProjectMembersOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Members []ProjectGrant `json:"members"` + Schema OptURI `json:"$schema"` + Members []ProjectGrant `json:"members"` + AdditionalProps ListProjectMembersOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1832,6 +2471,11 @@ func (s *ListProjectMembersOutputBody) GetMembers() []ProjectGrant { return s.Members } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ListProjectMembersOutputBody) GetAdditionalProps() ListProjectMembersOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ListProjectMembersOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1842,11 +2486,28 @@ func (s *ListProjectMembersOutputBody) SetMembers(val []ProjectGrant) { s.Members = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ListProjectMembersOutputBody) SetAdditionalProps(val ListProjectMembersOutputBodyAdditional) { + s.AdditionalProps = val +} + +type ListProjectMembersOutputBodyAdditional map[string]jx.Raw + +func (s *ListProjectMembersOutputBodyAdditional) init() ListProjectMembersOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ListProjectReposOutputBody type ListProjectReposOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Repos []Repo `json:"repos"` + Schema OptURI `json:"$schema"` + Repos []Repo `json:"repos"` + AdditionalProps ListProjectReposOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1859,6 +2520,11 @@ func (s *ListProjectReposOutputBody) GetRepos() []Repo { return s.Repos } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ListProjectReposOutputBody) GetAdditionalProps() ListProjectReposOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ListProjectReposOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1869,12 +2535,29 @@ func (s *ListProjectReposOutputBody) SetRepos(val []Repo) { s.Repos = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ListProjectReposOutputBody) SetAdditionalProps(val ListProjectReposOutputBodyAdditional) { + s.AdditionalProps = val +} + +type ListProjectReposOutputBodyAdditional map[string]jx.Raw + +func (s *ListProjectReposOutputBodyAdditional) init() ListProjectReposOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ListProjectsOutputBody type ListProjectsOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Project OptProject `json:"project"` - Projects []Project `json:"projects"` + Schema OptURI `json:"$schema"` + Project OptProject `json:"project"` + Projects []Project `json:"projects"` + AdditionalProps ListProjectsOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1892,6 +2575,11 @@ func (s *ListProjectsOutputBody) GetProjects() []Project { return s.Projects } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ListProjectsOutputBody) GetAdditionalProps() ListProjectsOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ListProjectsOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1907,11 +2595,28 @@ func (s *ListProjectsOutputBody) SetProjects(val []Project) { s.Projects = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ListProjectsOutputBody) SetAdditionalProps(val ListProjectsOutputBodyAdditional) { + s.AdditionalProps = val +} + +type ListProjectsOutputBodyAdditional map[string]jx.Raw + +func (s *ListProjectsOutputBodyAdditional) init() ListProjectsOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ListServiceAccountGrantsOutputBody type ListServiceAccountGrantsOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Grants []ServiceAccountGrant `json:"grants"` + Schema OptURI `json:"$schema"` + Grants []ServiceAccountGrant `json:"grants"` + AdditionalProps ListServiceAccountGrantsOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1924,6 +2629,11 @@ func (s *ListServiceAccountGrantsOutputBody) GetGrants() []ServiceAccountGrant { return s.Grants } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ListServiceAccountGrantsOutputBody) GetAdditionalProps() ListServiceAccountGrantsOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ListServiceAccountGrantsOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1934,11 +2644,28 @@ func (s *ListServiceAccountGrantsOutputBody) SetGrants(val []ServiceAccountGrant s.Grants = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ListServiceAccountGrantsOutputBody) SetAdditionalProps(val ListServiceAccountGrantsOutputBodyAdditional) { + s.AdditionalProps = val +} + +type ListServiceAccountGrantsOutputBodyAdditional map[string]jx.Raw + +func (s *ListServiceAccountGrantsOutputBodyAdditional) init() ListServiceAccountGrantsOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ListServiceAccountsOutputBody type ListServiceAccountsOutputBody struct { // A URL to the JSON Schema for this object. Schema OptURI `json:"$schema"` ServiceAccounts []ServiceAccountWithGrants `json:"serviceAccounts"` + AdditionalProps ListServiceAccountsOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -1951,6 +2678,11 @@ func (s *ListServiceAccountsOutputBody) GetServiceAccounts() []ServiceAccountWit return s.ServiceAccounts } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ListServiceAccountsOutputBody) GetAdditionalProps() ListServiceAccountsOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ListServiceAccountsOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -1961,11 +2693,28 @@ func (s *ListServiceAccountsOutputBody) SetServiceAccounts(val []ServiceAccountW s.ServiceAccounts = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ListServiceAccountsOutputBody) SetAdditionalProps(val ListServiceAccountsOutputBodyAdditional) { + s.AdditionalProps = val +} + +type ListServiceAccountsOutputBodyAdditional map[string]jx.Raw + +func (s *ListServiceAccountsOutputBodyAdditional) init() ListServiceAccountsOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/LookupRef type LookupRef struct { ID string `json:"id"` // Resource type slug; "org", "project", "repo" are enriched, unknown types pass through. - Type string `json:"type"` + Type string `json:"type"` + AdditionalProps LookupRefAdditional } // GetID returns the value of ID. @@ -1978,6 +2727,11 @@ func (s *LookupRef) GetType() string { return s.Type } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *LookupRef) GetAdditionalProps() LookupRefAdditional { + return s.AdditionalProps +} + // SetID sets the value of ID. func (s *LookupRef) SetID(val string) { s.ID = val @@ -1988,15 +2742,32 @@ func (s *LookupRef) SetType(val string) { s.Type = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *LookupRef) SetAdditionalProps(val LookupRefAdditional) { + s.AdditionalProps = val +} + +type LookupRefAdditional map[string]jx.Raw + +func (s *LookupRefAdditional) init() LookupRefAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/LookupRefResult type LookupRefResult struct { - ID string `json:"id"` - Name OptString `json:"name"` - OwnerId OptString `json:"ownerId"` - OwnerType OptLookupRefResultOwnerType `json:"ownerType"` - ProjectId OptString `json:"projectId"` - Type string `json:"type"` - URL OptString `json:"url"` + ID string `json:"id"` + Name OptString `json:"name"` + OwnerId OptString `json:"ownerId"` + OwnerType OptLookupRefResultOwnerType `json:"ownerType"` + ProjectId OptString `json:"projectId"` + Type string `json:"type"` + URL OptString `json:"url"` + AdditionalProps LookupRefResultAdditional } // GetID returns the value of ID. @@ -2034,6 +2805,11 @@ func (s *LookupRefResult) GetURL() OptString { return s.URL } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *LookupRefResult) GetAdditionalProps() LookupRefResultAdditional { + return s.AdditionalProps +} + // SetID sets the value of ID. func (s *LookupRefResult) SetID(val string) { s.ID = val @@ -2064,9 +2840,25 @@ func (s *LookupRefResult) SetType(val string) { s.Type = val } -// SetURL sets the value of URL. -func (s *LookupRefResult) SetURL(val OptString) { - s.URL = val +// SetURL sets the value of URL. +func (s *LookupRefResult) SetURL(val OptString) { + s.URL = val +} + +// SetAdditionalProps sets the value of AdditionalProps. +func (s *LookupRefResult) SetAdditionalProps(val LookupRefResultAdditional) { + s.AdditionalProps = val +} + +type LookupRefResultAdditional map[string]jx.Raw + +func (s *LookupRefResultAdditional) init() LookupRefResultAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m } type LookupRefResultOwnerType string @@ -2113,11 +2905,12 @@ func (s *LookupRefResultOwnerType) UnmarshalText(data []byte) error { // Ref: #/components/schemas/LookupResourcesOutputBody type LookupResourcesOutputBody struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - Permission OptString `json:"permission"` - ResourceIds []string `json:"resourceIds"` - ResourceType string `json:"resourceType"` - Resources []ResourceAccess `json:"resources"` + Schema OptURI `json:"$schema"` + Permission OptString `json:"permission"` + ResourceIds []string `json:"resourceIds"` + ResourceType string `json:"resourceType"` + Resources []ResourceAccess `json:"resources"` + AdditionalProps LookupResourcesOutputBodyAdditional } // GetSchema returns the value of Schema. @@ -2145,6 +2938,11 @@ func (s *LookupResourcesOutputBody) GetResources() []ResourceAccess { return s.Resources } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *LookupResourcesOutputBody) GetAdditionalProps() LookupResourcesOutputBodyAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *LookupResourcesOutputBody) SetSchema(val OptURI) { s.Schema = val @@ -2170,10 +2968,27 @@ func (s *LookupResourcesOutputBody) SetResources(val []ResourceAccess) { s.Resources = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *LookupResourcesOutputBody) SetAdditionalProps(val LookupResourcesOutputBodyAdditional) { + s.AdditionalProps = val +} + +type LookupResourcesOutputBodyAdditional map[string]jx.Raw + +func (s *LookupResourcesOutputBodyAdditional) init() LookupResourcesOutputBodyAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/MeAuth type MeAuth struct { - Provider string `json:"provider"` - ProviderUserId string `json:"providerUserId"` + Provider string `json:"provider"` + ProviderUserId string `json:"providerUserId"` + AdditionalProps MeAuthAdditional } // GetProvider returns the value of Provider. @@ -2186,6 +3001,11 @@ func (s *MeAuth) GetProviderUserId() string { return s.ProviderUserId } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *MeAuth) GetAdditionalProps() MeAuthAdditional { + return s.AdditionalProps +} + // SetProvider sets the value of Provider. func (s *MeAuth) SetProvider(val string) { s.Provider = val @@ -2196,6 +3016,22 @@ func (s *MeAuth) SetProviderUserId(val string) { s.ProviderUserId = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *MeAuth) SetAdditionalProps(val MeAuthAdditional) { + s.AdditionalProps = val +} + +type MeAuthAdditional map[string]jx.Raw + +func (s *MeAuthAdditional) init() MeAuthAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/MeGlobal type MeGlobal struct { AccountId string `json:"accountId"` @@ -2203,6 +3039,7 @@ type MeGlobal struct { Handle OptString `json:"handle"` Handles []MeIdentityHandle `json:"handles"` HomeJurisdiction OptString `json:"homeJurisdiction"` + AdditionalProps MeGlobalAdditional } // GetAccountId returns the value of AccountId. @@ -2230,6 +3067,11 @@ func (s *MeGlobal) GetHomeJurisdiction() OptString { return s.HomeJurisdiction } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *MeGlobal) GetAdditionalProps() MeGlobalAdditional { + return s.AdditionalProps +} + // SetAccountId sets the value of AccountId. func (s *MeGlobal) SetAccountId(val string) { s.AccountId = val @@ -2255,11 +3097,28 @@ func (s *MeGlobal) SetHomeJurisdiction(val OptString) { s.HomeJurisdiction = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *MeGlobal) SetAdditionalProps(val MeGlobalAdditional) { + s.AdditionalProps = val +} + +type MeGlobalAdditional map[string]jx.Raw + +func (s *MeGlobalAdditional) init() MeGlobalAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/MeIdentityHandle type MeIdentityHandle struct { - Handle string `json:"handle"` - Provider string `json:"provider"` - ProviderUserId string `json:"providerUserId"` + Handle string `json:"handle"` + Provider string `json:"provider"` + ProviderUserId string `json:"providerUserId"` + AdditionalProps MeIdentityHandleAdditional } // GetHandle returns the value of Handle. @@ -2277,6 +3136,11 @@ func (s *MeIdentityHandle) GetProviderUserId() string { return s.ProviderUserId } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *MeIdentityHandle) GetAdditionalProps() MeIdentityHandleAdditional { + return s.AdditionalProps +} + // SetHandle sets the value of Handle. func (s *MeIdentityHandle) SetHandle(val string) { s.Handle = val @@ -2292,13 +3156,30 @@ func (s *MeIdentityHandle) SetProviderUserId(val string) { s.ProviderUserId = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *MeIdentityHandle) SetAdditionalProps(val MeIdentityHandleAdditional) { + s.AdditionalProps = val +} + +type MeIdentityHandleAdditional map[string]jx.Raw + +func (s *MeIdentityHandleAdditional) init() MeIdentityHandleAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/MeRegional type MeRegional struct { - Bio OptString `json:"bio"` - Company OptString `json:"company"` - DisplayName OptString `json:"displayName"` - Email OptString `json:"email"` - Location OptString `json:"location"` + Bio OptString `json:"bio"` + Company OptString `json:"company"` + DisplayName OptString `json:"displayName"` + Email OptString `json:"email"` + Location OptString `json:"location"` + AdditionalProps MeRegionalAdditional } // GetBio returns the value of Bio. @@ -2326,6 +3207,11 @@ func (s *MeRegional) GetLocation() OptString { return s.Location } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *MeRegional) GetAdditionalProps() MeRegionalAdditional { + return s.AdditionalProps +} + // SetBio sets the value of Bio. func (s *MeRegional) SetBio(val OptString) { s.Bio = val @@ -2351,6 +3237,22 @@ func (s *MeRegional) SetLocation(val OptString) { s.Location = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *MeRegional) SetAdditionalProps(val MeRegionalAdditional) { + s.AdditionalProps = val +} + +type MeRegionalAdditional map[string]jx.Raw + +func (s *MeRegionalAdditional) init() MeRegionalAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/MeRegionalUnavailable type MeRegionalUnavailable struct { // Always 'foreign_jurisdiction'. Discriminator for client-side state machines. @@ -2360,7 +3262,8 @@ type MeRegionalUnavailable struct { // The account's home jurisdiction (e.g. 'us', 'eu'). Jurisdiction string `json:"jurisdiction"` // Human-readable copy ready to surface in a UI. - Message string `json:"message"` + Message string `json:"message"` + AdditionalProps MeRegionalUnavailableAdditional } // GetError returns the value of Error. @@ -2383,6 +3286,11 @@ func (s *MeRegionalUnavailable) GetMessage() string { return s.Message } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *MeRegionalUnavailable) GetAdditionalProps() MeRegionalUnavailableAdditional { + return s.AdditionalProps +} + // SetError sets the value of Error. func (s *MeRegionalUnavailable) SetError(val MeRegionalUnavailableError) { s.Error = val @@ -2403,6 +3311,22 @@ func (s *MeRegionalUnavailable) SetMessage(val string) { s.Message = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *MeRegionalUnavailable) SetAdditionalProps(val MeRegionalUnavailableAdditional) { + s.AdditionalProps = val +} + +type MeRegionalUnavailableAdditional map[string]jx.Raw + +func (s *MeRegionalUnavailableAdditional) init() MeRegionalUnavailableAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Always 'foreign_jurisdiction'. Discriminator for client-side state machines. type MeRegionalUnavailableError string @@ -2449,6 +3373,7 @@ type Membership struct { Role string `json:"role"` Status string `json:"status"` WorkosOrgMembershipId OptString `json:"workosOrgMembershipId"` + AdditionalProps MembershipAdditional } // GetSchema returns the value of Schema. @@ -2491,6 +3416,11 @@ func (s *Membership) GetWorkosOrgMembershipId() OptString { return s.WorkosOrgMembershipId } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *Membership) GetAdditionalProps() MembershipAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *Membership) SetSchema(val OptURI) { s.Schema = val @@ -2531,22 +3461,39 @@ func (s *Membership) SetWorkosOrgMembershipId(val OptString) { s.WorkosOrgMembershipId = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *Membership) SetAdditionalProps(val MembershipAdditional) { + s.AdditionalProps = val +} + +type MembershipAdditional map[string]jx.Raw + +func (s *MembershipAdditional) init() MembershipAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/Mirror type Mirror struct { // A URL to the JSON Schema for this object. Schema OptURI `json:"$schema"` // Public host of the cluster serving this mirror. - ClusterHost string `json:"clusterHost"` - CreatedAt time.Time `json:"createdAt"` - InstallationId OptInt64 `json:"installationId"` - IsArchived OptBool `json:"isArchived"` - IsPrivate OptBool `json:"isPrivate"` - Jurisdiction OptString `json:"jurisdiction"` - MirrorId string `json:"mirrorId"` - Owner string `json:"owner"` - Provider string `json:"provider"` - Repo string `json:"repo"` - SuspendedAt OptDateTime `json:"suspendedAt"` + ClusterHost string `json:"clusterHost"` + CreatedAt time.Time `json:"createdAt"` + InstallationId OptInt64 `json:"installationId"` + IsArchived OptBool `json:"isArchived"` + IsPrivate OptBool `json:"isPrivate"` + Jurisdiction OptString `json:"jurisdiction"` + MirrorId string `json:"mirrorId"` + Owner string `json:"owner"` + Provider string `json:"provider"` + Repo string `json:"repo"` + SuspendedAt OptDateTime `json:"suspendedAt"` + AdditionalProps MirrorAdditional } // GetSchema returns the value of Schema. @@ -2609,6 +3556,11 @@ func (s *Mirror) GetSuspendedAt() OptDateTime { return s.SuspendedAt } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *Mirror) GetAdditionalProps() MirrorAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *Mirror) SetSchema(val OptURI) { s.Schema = val @@ -2669,12 +3621,29 @@ func (s *Mirror) SetSuspendedAt(val OptDateTime) { s.SuspendedAt = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *Mirror) SetAdditionalProps(val MirrorAdditional) { + s.AdditionalProps = val +} + +type MirrorAdditional map[string]jx.Raw + +func (s *MirrorAdditional) init() MirrorAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/OIDCProvider type OIDCProvider struct { - Description OptString `json:"description"` - DisplayName OptString `json:"displayName"` - ID string `json:"id"` - Issuer string `json:"issuer"` + Description OptString `json:"description"` + DisplayName OptString `json:"displayName"` + ID string `json:"id"` + Issuer string `json:"issuer"` + AdditionalProps OIDCProviderAdditional } // GetDescription returns the value of Description. @@ -2697,6 +3666,11 @@ func (s *OIDCProvider) GetIssuer() string { return s.Issuer } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *OIDCProvider) GetAdditionalProps() OIDCProviderAdditional { + return s.AdditionalProps +} + // SetDescription sets the value of Description. func (s *OIDCProvider) SetDescription(val OptString) { s.Description = val @@ -2717,6 +3691,22 @@ func (s *OIDCProvider) SetIssuer(val string) { s.Issuer = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *OIDCProvider) SetAdditionalProps(val OIDCProviderAdditional) { + s.AdditionalProps = val +} + +type OIDCProviderAdditional map[string]jx.Raw + +func (s *OIDCProviderAdditional) init() OIDCProviderAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // NewOptAddOrgMemberInputBodyRole returns new OptAddOrgMemberInputBodyRole with value set to v. func NewOptAddOrgMemberInputBodyRole(v AddOrgMemberInputBodyRole) OptAddOrgMemberInputBodyRole { return OptAddOrgMemberInputBodyRole{ @@ -3554,6 +4544,7 @@ type Org struct { Name string `json:"name"` Region string `json:"region"` WorkosOrganizationId OptString `json:"workosOrganizationId"` + AdditionalProps OrgAdditional } // GetSchema returns the value of Schema. @@ -3586,6 +4577,11 @@ func (s *Org) GetWorkosOrganizationId() OptString { return s.WorkosOrganizationId } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *Org) GetAdditionalProps() OrgAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *Org) SetSchema(val OptURI) { s.Schema = val @@ -3616,16 +4612,33 @@ func (s *Org) SetWorkosOrganizationId(val OptString) { s.WorkosOrganizationId = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *Org) SetAdditionalProps(val OrgAdditional) { + s.AdditionalProps = val +} + +type OrgAdditional map[string]jx.Raw + +func (s *OrgAdditional) init() OrgAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/Project type Project struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - CreatedAt time.Time `json:"createdAt"` - ID string `json:"id"` - Name string `json:"name"` - OwnerId string `json:"ownerId"` - OwnerType ProjectOwnerType `json:"ownerType"` - Region string `json:"region"` + Schema OptURI `json:"$schema"` + CreatedAt time.Time `json:"createdAt"` + ID string `json:"id"` + Name string `json:"name"` + OwnerId string `json:"ownerId"` + OwnerType ProjectOwnerType `json:"ownerType"` + Region string `json:"region"` + AdditionalProps ProjectAdditional } // GetSchema returns the value of Schema. @@ -3663,6 +4676,11 @@ func (s *Project) GetRegion() string { return s.Region } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *Project) GetAdditionalProps() ProjectAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *Project) SetSchema(val OptURI) { s.Schema = val @@ -3698,11 +4716,28 @@ func (s *Project) SetRegion(val string) { s.Region = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *Project) SetAdditionalProps(val ProjectAdditional) { + s.AdditionalProps = val +} + +type ProjectAdditional map[string]jx.Raw + +func (s *ProjectAdditional) init() ProjectAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ProjectGrant type ProjectGrant struct { - GranteeId string `json:"granteeId"` - GranteeType string `json:"granteeType"` - Role string `json:"role"` + GranteeId string `json:"granteeId"` + GranteeType string `json:"granteeType"` + Role string `json:"role"` + AdditionalProps ProjectGrantAdditional } // GetGranteeId returns the value of GranteeId. @@ -3720,6 +4755,11 @@ func (s *ProjectGrant) GetRole() string { return s.Role } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ProjectGrant) GetAdditionalProps() ProjectGrantAdditional { + return s.AdditionalProps +} + // SetGranteeId sets the value of GranteeId. func (s *ProjectGrant) SetGranteeId(val string) { s.GranteeId = val @@ -3735,6 +4775,22 @@ func (s *ProjectGrant) SetRole(val string) { s.Role = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ProjectGrant) SetAdditionalProps(val ProjectGrantAdditional) { + s.AdditionalProps = val +} + +type ProjectGrantAdditional map[string]jx.Raw + +func (s *ProjectGrantAdditional) init() ProjectGrantAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + type ProjectOwnerType string const ( @@ -3793,6 +4849,7 @@ type Repo struct { ProvisionAttempts OptInt64 `json:"provisionAttempts"` ProvisionReason OptString `json:"provisionReason"` State OptRepoState `json:"state"` + AdditionalProps RepoAdditional } // GetSchema returns the value of Schema. @@ -3850,6 +4907,11 @@ func (s *Repo) GetState() OptRepoState { return s.State } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *Repo) GetAdditionalProps() RepoAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *Repo) SetSchema(val OptURI) { s.Schema = val @@ -3905,6 +4967,22 @@ func (s *Repo) SetState(val OptRepoState) { s.State = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *Repo) SetAdditionalProps(val RepoAdditional) { + s.AdditionalProps = val +} + +type RepoAdditional map[string]jx.Raw + +func (s *RepoAdditional) init() RepoAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + type RepoObjectFormat string const ( @@ -3997,11 +5075,12 @@ func (s *RepoState) UnmarshalText(data []byte) error { // Ref: #/components/schemas/ResolvedIdentity type ResolvedIdentity struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - AccountId string `json:"accountId"` - Handle string `json:"handle"` - Provider string `json:"provider"` - ProviderUserId string `json:"providerUserId"` + Schema OptURI `json:"$schema"` + AccountId string `json:"accountId"` + Handle string `json:"handle"` + Provider string `json:"provider"` + ProviderUserId string `json:"providerUserId"` + AdditionalProps ResolvedIdentityAdditional } // GetSchema returns the value of Schema. @@ -4029,6 +5108,11 @@ func (s *ResolvedIdentity) GetProviderUserId() string { return s.ProviderUserId } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ResolvedIdentity) GetAdditionalProps() ResolvedIdentityAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ResolvedIdentity) SetSchema(val OptURI) { s.Schema = val @@ -4054,10 +5138,27 @@ func (s *ResolvedIdentity) SetProviderUserId(val string) { s.ProviderUserId = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ResolvedIdentity) SetAdditionalProps(val ResolvedIdentityAdditional) { + s.AdditionalProps = val +} + +type ResolvedIdentityAdditional map[string]jx.Raw + +func (s *ResolvedIdentityAdditional) init() ResolvedIdentityAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ResourceAccess type ResourceAccess struct { - Permissions []string `json:"permissions"` - ResourceId string `json:"resourceId"` + Permissions []string `json:"permissions"` + ResourceId string `json:"resourceId"` + AdditionalProps ResourceAccessAdditional } // GetPermissions returns the value of Permissions. @@ -4070,6 +5171,11 @@ func (s *ResourceAccess) GetResourceId() string { return s.ResourceId } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ResourceAccess) GetAdditionalProps() ResourceAccessAdditional { + return s.AdditionalProps +} + // SetPermissions sets the value of Permissions. func (s *ResourceAccess) SetPermissions(val []string) { s.Permissions = val @@ -4080,6 +5186,22 @@ func (s *ResourceAccess) SetResourceId(val string) { s.ResourceId = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ResourceAccess) SetAdditionalProps(val ResourceAccessAdditional) { + s.AdditionalProps = val +} + +type ResourceAccessAdditional map[string]jx.Raw + +func (s *ResourceAccessAdditional) init() ResourceAccessAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // RevokeProjectAccessByProviderNoContent is response for RevokeProjectAccessByProvider operation. type RevokeProjectAccessByProviderNoContent struct{} @@ -4133,13 +5255,14 @@ func (s *RevokeServiceAccountAccessResourceType) UnmarshalText(data []byte) erro // Ref: #/components/schemas/ServiceAccount type ServiceAccount struct { // A URL to the JSON Schema for this object. - Schema OptURI `json:"$schema"` - AccountId string `json:"accountId"` - CreatedAt time.Time `json:"createdAt"` - Name string `json:"name"` - OrgId string `json:"orgId"` - Status string `json:"status"` - SystemManaged bool `json:"systemManaged"` + Schema OptURI `json:"$schema"` + AccountId string `json:"accountId"` + CreatedAt time.Time `json:"createdAt"` + Name string `json:"name"` + OrgId string `json:"orgId"` + Status string `json:"status"` + SystemManaged bool `json:"systemManaged"` + AdditionalProps ServiceAccountAdditional } // GetSchema returns the value of Schema. @@ -4177,6 +5300,11 @@ func (s *ServiceAccount) GetSystemManaged() bool { return s.SystemManaged } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ServiceAccount) GetAdditionalProps() ServiceAccountAdditional { + return s.AdditionalProps +} + // SetSchema sets the value of Schema. func (s *ServiceAccount) SetSchema(val OptURI) { s.Schema = val @@ -4212,12 +5340,29 @@ func (s *ServiceAccount) SetSystemManaged(val bool) { s.SystemManaged = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ServiceAccount) SetAdditionalProps(val ServiceAccountAdditional) { + s.AdditionalProps = val +} + +type ServiceAccountAdditional map[string]jx.Raw + +func (s *ServiceAccountAdditional) init() ServiceAccountAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ServiceAccountGrant type ServiceAccountGrant struct { - ResourceId string `json:"resourceId"` - ResourceName OptString `json:"resourceName"` - ResourceType string `json:"resourceType"` - Role string `json:"role"` + ResourceId string `json:"resourceId"` + ResourceName OptString `json:"resourceName"` + ResourceType string `json:"resourceType"` + Role string `json:"role"` + AdditionalProps ServiceAccountGrantAdditional } // GetResourceId returns the value of ResourceId. @@ -4240,6 +5385,11 @@ func (s *ServiceAccountGrant) GetRole() string { return s.Role } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ServiceAccountGrant) GetAdditionalProps() ServiceAccountGrantAdditional { + return s.AdditionalProps +} + // SetResourceId sets the value of ResourceId. func (s *ServiceAccountGrant) SetResourceId(val string) { s.ResourceId = val @@ -4260,15 +5410,32 @@ func (s *ServiceAccountGrant) SetRole(val string) { s.Role = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ServiceAccountGrant) SetAdditionalProps(val ServiceAccountGrantAdditional) { + s.AdditionalProps = val +} + +type ServiceAccountGrantAdditional map[string]jx.Raw + +func (s *ServiceAccountGrantAdditional) init() ServiceAccountGrantAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + // Ref: #/components/schemas/ServiceAccountWithGrants type ServiceAccountWithGrants struct { - AccountId string `json:"accountId"` - CreatedAt time.Time `json:"createdAt"` - Grants []string `json:"grants"` - Name string `json:"name"` - OrgId string `json:"orgId"` - Status string `json:"status"` - SystemManaged bool `json:"systemManaged"` + AccountId string `json:"accountId"` + CreatedAt time.Time `json:"createdAt"` + Grants []string `json:"grants"` + Name string `json:"name"` + OrgId string `json:"orgId"` + Status string `json:"status"` + SystemManaged bool `json:"systemManaged"` + AdditionalProps ServiceAccountWithGrantsAdditional } // GetAccountId returns the value of AccountId. @@ -4306,6 +5473,11 @@ func (s *ServiceAccountWithGrants) GetSystemManaged() bool { return s.SystemManaged } +// GetAdditionalProps returns the value of AdditionalProps. +func (s *ServiceAccountWithGrants) GetAdditionalProps() ServiceAccountWithGrantsAdditional { + return s.AdditionalProps +} + // SetAccountId sets the value of AccountId. func (s *ServiceAccountWithGrants) SetAccountId(val string) { s.AccountId = val @@ -4341,6 +5513,22 @@ func (s *ServiceAccountWithGrants) SetSystemManaged(val bool) { s.SystemManaged = val } +// SetAdditionalProps sets the value of AdditionalProps. +func (s *ServiceAccountWithGrants) SetAdditionalProps(val ServiceAccountWithGrantsAdditional) { + s.AdditionalProps = val +} + +type ServiceAccountWithGrantsAdditional map[string]jx.Raw + +func (s *ServiceAccountWithGrantsAdditional) init() ServiceAccountWithGrantsAdditional { + m := *s + if m == nil { + m = map[string]jx.Raw{} + *s = m + } + return m +} + type SessionAuth struct { APIKey string Roles []string diff --git a/internal/coreapi/spec/core.gen.json b/internal/coreapi/spec/core.gen.json index 81e464788..edfeb2e17 100644 --- a/internal/coreapi/spec/core.gen.json +++ b/internal/coreapi/spec/core.gen.json @@ -2,7 +2,7 @@ "components": { "schemas": { "AddOrgMemberInputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -39,7 +39,7 @@ "type": "object" }, "AuditEvent": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "actorId": { "type": "string" @@ -72,7 +72,7 @@ "type": "object" }, "BatchLookupInputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -98,7 +98,7 @@ "type": "object" }, "BatchLookupOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -122,7 +122,7 @@ "type": "object" }, "Binding": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -158,7 +158,7 @@ "type": "object" }, "CreateBindingInputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -183,7 +183,7 @@ "type": "object" }, "CreateMirrorInputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -223,7 +223,7 @@ "type": "object" }, "CreateOrgInputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -251,7 +251,7 @@ "type": "object" }, "CreateProjectInputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -290,7 +290,7 @@ "type": "object" }, "CreateRepoInputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -329,7 +329,7 @@ "type": "object" }, "CreateServiceAccountInputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -356,7 +356,7 @@ "type": "object" }, "CreatedMirror": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -395,7 +395,7 @@ "type": "object" }, "ErrorDetail": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "location": { "description": "Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'", @@ -412,7 +412,7 @@ "type": "object" }, "ErrorModel": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -473,7 +473,7 @@ "type": "object" }, "GetMeOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -515,7 +515,7 @@ "type": "object" }, "GetPermissionsOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -550,7 +550,7 @@ "type": "object" }, "GrantProjectAccessInputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -591,7 +591,7 @@ "type": "object" }, "GrantProjectAccessOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -612,7 +612,7 @@ "type": "object" }, "GrantRepoAccessInputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -653,7 +653,7 @@ "type": "object" }, "GrantRepoAccessOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -674,7 +674,7 @@ "type": "object" }, "GrantServiceAccountAccessInputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -709,7 +709,7 @@ "type": "object" }, "GrantServiceAccountAccessOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -730,7 +730,7 @@ "type": "object" }, "ListAuditEventsOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -754,7 +754,7 @@ "type": "object" }, "ListBindingsOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -778,7 +778,7 @@ "type": "object" }, "ListMirrorsOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -802,7 +802,7 @@ "type": "object" }, "ListOIDCProvidersOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -826,7 +826,7 @@ "type": "object" }, "ListOrgMembersOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -850,7 +850,7 @@ "type": "object" }, "ListOrgProjectsOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -874,7 +874,7 @@ "type": "object" }, "ListOrgsOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -898,7 +898,7 @@ "type": "object" }, "ListProjectMembersOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -922,7 +922,7 @@ "type": "object" }, "ListProjectReposOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -946,7 +946,7 @@ "type": "object" }, "ListProjectsOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -970,7 +970,7 @@ "type": "object" }, "ListServiceAccountGrantsOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -994,7 +994,7 @@ "type": "object" }, "ListServiceAccountsOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -1018,7 +1018,7 @@ "type": "object" }, "LookupRef": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "id": { "minLength": 1, @@ -1037,7 +1037,7 @@ "type": "object" }, "LookupRefResult": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "id": { "type": "string" @@ -1072,7 +1072,7 @@ "type": "object" }, "LookupResourcesOutputBody": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -1108,7 +1108,7 @@ "type": "object" }, "MeAuth": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "provider": { "type": "string" @@ -1124,7 +1124,7 @@ "type": "object" }, "MeGlobal": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "accountId": { "type": "string" @@ -1152,7 +1152,7 @@ "type": "object" }, "MeIdentityHandle": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "handle": { "type": "string" @@ -1172,7 +1172,7 @@ "type": "object" }, "MeRegional": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "bio": { "type": "string" @@ -1193,7 +1193,7 @@ "type": "object" }, "MeRegionalUnavailable": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "error": { "description": "Always 'foreign_jurisdiction'. Discriminator for client-side state machines.", @@ -1224,7 +1224,7 @@ "type": "object" }, "Membership": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -1269,7 +1269,7 @@ "type": "object" }, "Mirror": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -1329,7 +1329,7 @@ "type": "object" }, "OIDCProvider": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "description": { "type": "string" @@ -1351,7 +1351,7 @@ "type": "object" }, "Org": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -1388,7 +1388,7 @@ "type": "object" }, "Project": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -1434,7 +1434,7 @@ "type": "object" }, "ProjectGrant": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "granteeId": { "type": "string" @@ -1454,7 +1454,7 @@ "type": "object" }, "Repo": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -1514,7 +1514,7 @@ "type": "object" }, "ResolvedIdentity": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -1547,7 +1547,7 @@ "type": "object" }, "ResourceAccess": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "permissions": { "items": { @@ -1566,7 +1566,7 @@ "type": "object" }, "ServiceAccount": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", @@ -1608,7 +1608,7 @@ "type": "object" }, "ServiceAccountGrant": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "resourceId": { "type": "string" @@ -1631,7 +1631,7 @@ "type": "object" }, "ServiceAccountWithGrants": { - "additionalProperties": false, + "additionalProperties": true, "properties": { "accountId": { "type": "string" diff --git a/internal/coreapi/spec/core.openapi.json b/internal/coreapi/spec/core.openapi.json index 846050335..7d56675e7 100644 --- a/internal/coreapi/spec/core.openapi.json +++ b/internal/coreapi/spec/core.openapi.json @@ -1 +1 @@ -{"components":{"schemas":{"AddOrgMemberInputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/AddOrgMemberInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"provider":{"minLength":1,"type":"string"},"providerUserId":{"minLength":1,"type":"string"},"role":{"default":"member","description":"Role at the org; defaults to member.","enum":["owner","admin","member"],"type":"string"}},"required":["provider","providerUserId"],"type":"object"},"AuditEvent":{"additionalProperties":false,"properties":{"actorId":{"type":"string"},"eventType":{"type":"string"},"id":{"type":"string"},"ipAddress":{"description":"Source IP recorded when the event was logged.","type":"string"},"metadata":{"additionalProperties":{},"type":"object"},"occurredAt":{"format":"date-time","type":"string"}},"required":["id","occurredAt","eventType","actorId"],"type":"object"},"BatchLookupInputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/BatchLookupInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"refs":{"items":{"$ref":"#/components/schemas/LookupRef"},"maxItems":100,"minItems":1,"type":"array"}},"required":["refs"],"type":"object"},"BatchLookupOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/BatchLookupOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"refs":{"items":{"$ref":"#/components/schemas/LookupRefResult"},"type":"array"}},"required":["refs"],"type":"object"},"Binding":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/Binding.json"],"format":"uri","readOnly":true,"type":"string"},"accountId":{"type":"string"},"attributeFilter":{},"createdAt":{"format":"date-time","type":"string"},"id":{"type":"string"},"providerId":{"type":"string"}},"required":["id","accountId","providerId","attributeFilter","createdAt"],"type":"object"},"CreateBindingInputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreateBindingInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"attributeFilter":{"description":"Exact-match key/value map; empty filter matches any token."},"providerId":{"minLength":1,"type":"string"}},"required":["providerId"],"type":"object"},"CreateMirrorInputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreateMirrorInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"clusterHost":{"description":"DNS host of the destination cluster.","minLength":1,"type":"string"},"owner":{"minLength":1,"type":"string"},"provider":{"enum":["github"],"type":"string"},"repo":{"minLength":1,"type":"string"}},"required":["provider","owner","repo","clusterHost"],"type":"object"},"CreateOrgInputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreateOrgInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"name":{"description":"Display name.","maxLength":100,"minLength":1,"type":"string"},"region":{"description":"Jurisdiction slug; defaults to the server's home jurisdiction.","type":"string"}},"required":["name"],"type":"object"},"CreateProjectInputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreateProjectInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"name":{"maxLength":100,"minLength":1,"type":"string"},"ownerId":{"minLength":1,"type":"string"},"ownerType":{"enum":["org","account"],"type":"string"},"region":{"type":"string"}},"required":["name","ownerType","ownerId"],"type":"object"},"CreateRepoInputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreateRepoInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"clusterHost":{"description":"Public host of the cluster to pin the repo to (e.g. royalcanin.partial.to); empty lands on the jurisdiction default.","type":"string"},"name":{"minLength":1,"type":"string"},"objectFormat":{"description":"Hash format; defaults to sha1.","enum":["sha1","sha256"],"type":"string"},"projectId":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}},"required":["projectId","name"],"type":"object"},"CreateServiceAccountInputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreateServiceAccountInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"name":{"minLength":1,"type":"string"},"orgId":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}},"required":["orgId","name"],"type":"object"},"CreatedMirror":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreatedMirror.json"],"format":"uri","readOnly":true,"type":"string"},"created":{"description":"true on fresh creation; false when an existing mirror was returned.","type":"boolean"},"empty":{"description":"true when the upstream has no refs to clone.","type":"boolean"},"mirrorId":{"type":"string"},"mirrorUrl":{"type":"string"},"publicUrl":{"type":"string"}},"required":["mirrorId","mirrorUrl","publicUrl","created","empty"],"type":"object"},"ErrorDetail":{"additionalProperties":false,"properties":{"location":{"description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'","type":"string"},"message":{"description":"Error message text","type":"string"},"value":{"description":"The value at the given location"}},"type":"object"},"ErrorModel":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ErrorModel.json"],"format":"uri","readOnly":true,"type":"string"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","examples":["Property foo is required but is missing."],"type":"string"},"errors":{"description":"Optional list of individual error details","items":{"$ref":"#/components/schemas/ErrorDetail"},"type":"array"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","examples":["https://example.com/error-log/abc123"],"format":"uri","type":"string"},"status":{"description":"HTTP status code","examples":[400],"format":"int64","type":"integer"},"title":{"description":"A short, human-readable summary of the problem type. This value should not change between occurrences of the error.","examples":["Bad Request"],"type":"string"},"type":{"default":"about:blank","description":"A URI reference to human-readable documentation for the error.","examples":["https://example.com/errors/example"],"format":"uri","type":"string"}},"type":"object"},"GetMeOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GetMeOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"auth":{"$ref":"#/components/schemas/MeAuth"},"global":{"$ref":"#/components/schemas/MeGlobal"},"jurisdiction":{"type":"string"},"mode":{"enum":["standalone","global","regional"],"type":"string"},"regional":{"$ref":"#/components/schemas/MeRegional"},"regionalUnavailable":{"$ref":"#/components/schemas/MeRegionalUnavailable"}},"required":["global","auth"],"type":"object"},"GetPermissionsOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GetPermissionsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"explain":{"additionalProperties":{},"type":"object"},"permissions":{"items":{"type":"string"},"type":"array"},"resourceId":{"type":"string"},"resourceType":{"type":"string"}},"required":["resourceType","resourceId"],"type":"object"},"GrantProjectAccessInputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GrantProjectAccessInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"granteeType":{"default":"account","enum":["account","org","team"],"type":"string"},"provider":{"minLength":1,"type":"string"},"providerUserId":{"minLength":1,"type":"string"},"role":{"minLength":1,"type":"string"}},"required":["provider","providerUserId","role"],"type":"object"},"GrantProjectAccessOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GrantProjectAccessOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"status":{"type":"string"}},"required":["status"],"type":"object"},"GrantRepoAccessInputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GrantRepoAccessInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"granteeType":{"default":"account","enum":["account","org","team"],"type":"string"},"provider":{"minLength":1,"type":"string"},"providerUserId":{"minLength":1,"type":"string"},"role":{"minLength":1,"type":"string"}},"required":["provider","providerUserId","role"],"type":"object"},"GrantRepoAccessOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GrantRepoAccessOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"status":{"type":"string"}},"required":["status"],"type":"object"},"GrantServiceAccountAccessInputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GrantServiceAccountAccessInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"resourceId":{"minLength":1,"type":"string"},"resourceType":{"enum":["repo","project"],"type":"string"},"role":{"minLength":1,"type":"string"}},"required":["resourceType","resourceId","role"],"type":"object"},"GrantServiceAccountAccessOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GrantServiceAccountAccessOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"status":{"type":"string"}},"required":["status"],"type":"object"},"ListAuditEventsOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListAuditEventsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"events":{"items":{"$ref":"#/components/schemas/AuditEvent"},"type":"array"}},"required":["events"],"type":"object"},"ListBindingsOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListBindingsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"bindings":{"items":{"$ref":"#/components/schemas/Binding"},"type":"array"}},"required":["bindings"],"type":"object"},"ListMirrorsOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListMirrorsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"mirrors":{"items":{"$ref":"#/components/schemas/Mirror"},"type":"array"}},"required":["mirrors"],"type":"object"},"ListOIDCProvidersOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListOIDCProvidersOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"providers":{"items":{"$ref":"#/components/schemas/OIDCProvider"},"type":"array"}},"required":["providers"],"type":"object"},"ListOrgMembersOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListOrgMembersOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"members":{"items":{"$ref":"#/components/schemas/Membership"},"type":"array"}},"required":["members"],"type":"object"},"ListOrgProjectsOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListOrgProjectsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"projects":{"items":{"$ref":"#/components/schemas/Project"},"type":"array"}},"required":["projects"],"type":"object"},"ListOrgsOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListOrgsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"orgs":{"items":{"$ref":"#/components/schemas/Org"},"type":"array"}},"required":["orgs"],"type":"object"},"ListProjectMembersOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListProjectMembersOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"members":{"items":{"$ref":"#/components/schemas/ProjectGrant"},"type":"array"}},"required":["members"],"type":"object"},"ListProjectReposOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListProjectReposOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"repos":{"items":{"$ref":"#/components/schemas/Repo"},"type":"array"}},"required":["repos"],"type":"object"},"ListProjectsOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListProjectsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"project":{"$ref":"#/components/schemas/Project"},"projects":{"items":{"$ref":"#/components/schemas/Project"},"type":"array"}},"type":"object"},"ListServiceAccountGrantsOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListServiceAccountGrantsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"grants":{"items":{"$ref":"#/components/schemas/ServiceAccountGrant"},"type":"array"}},"required":["grants"],"type":"object"},"ListServiceAccountsOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListServiceAccountsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"serviceAccounts":{"items":{"$ref":"#/components/schemas/ServiceAccountWithGrants"},"type":"array"}},"required":["serviceAccounts"],"type":"object"},"LookupRef":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"type":{"description":"Resource type slug; \"org\", \"project\", \"repo\" are enriched, unknown types pass through.","minLength":1,"type":"string"}},"required":["type","id"],"type":"object"},"LookupRefResult":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"ownerId":{"type":"string"},"ownerType":{"enum":["org","account"],"type":"string"},"projectId":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"required":["type","id"],"type":"object"},"LookupResourcesOutputBody":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/LookupResourcesOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"permission":{"type":"string"},"resourceIds":{"items":{"type":"string"},"type":"array"},"resourceType":{"type":"string"},"resources":{"items":{"$ref":"#/components/schemas/ResourceAccess"},"type":"array"}},"required":["resourceType"],"type":"object"},"MeAuth":{"additionalProperties":false,"properties":{"provider":{"type":"string"},"providerUserId":{"type":"string"}},"required":["provider","providerUserId"],"type":"object"},"MeGlobal":{"additionalProperties":false,"properties":{"accountId":{"type":"string"},"avatarUrl":{"type":"string"},"handle":{"type":"string"},"handles":{"items":{"$ref":"#/components/schemas/MeIdentityHandle"},"type":"array"},"homeJurisdiction":{"type":"string"}},"required":["accountId","handles"],"type":"object"},"MeIdentityHandle":{"additionalProperties":false,"properties":{"handle":{"type":"string"},"provider":{"type":"string"},"providerUserId":{"type":"string"}},"required":["provider","handle","providerUserId"],"type":"object"},"MeRegional":{"additionalProperties":false,"properties":{"bio":{"type":"string"},"company":{"type":"string"},"displayName":{"type":"string"},"email":{"type":"string"},"location":{"type":"string"}},"type":"object"},"MeRegionalUnavailable":{"additionalProperties":false,"properties":{"error":{"description":"Always 'foreign_jurisdiction'. Discriminator for client-side state machines.","enum":["foreign_jurisdiction"],"type":"string"},"homeCoreUrl":{"description":"Deep link into the home console for this account.","type":"string"},"jurisdiction":{"description":"The account's home jurisdiction (e.g. 'us', 'eu').","type":"string"},"message":{"description":"Human-readable copy ready to surface in a UI.","type":"string"}},"required":["error","jurisdiction","homeCoreUrl","message"],"type":"object"},"Membership":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/Membership.json"],"format":"uri","readOnly":true,"type":"string"},"accountId":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"type":"string"},"orgId":{"type":"string"},"role":{"type":"string"},"status":{"type":"string"},"workosOrgMembershipId":{"type":"string"}},"required":["id","accountId","orgId","role","status","createdAt"],"type":"object"},"Mirror":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/Mirror.json"],"format":"uri","readOnly":true,"type":"string"},"clusterHost":{"description":"Public host of the cluster serving this mirror.","type":"string"},"createdAt":{"format":"date-time","type":"string"},"installationId":{"format":"int64","type":"integer"},"isArchived":{"type":"boolean"},"isPrivate":{"type":"boolean"},"jurisdiction":{"type":"string"},"mirrorId":{"type":"string"},"owner":{"type":"string"},"provider":{"type":"string"},"repo":{"type":"string"},"suspendedAt":{"format":"date-time","type":"string"}},"required":["mirrorId","provider","owner","repo","clusterHost","createdAt"],"type":"object"},"OIDCProvider":{"additionalProperties":false,"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"type":"string"},"issuer":{"type":"string"}},"required":["id","issuer"],"type":"object"},"Org":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/Org.json"],"format":"uri","readOnly":true,"type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"workosOrganizationId":{"type":"string"}},"required":["id","name","region","createdAt"],"type":"object"},"Project":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/Project.json"],"format":"uri","readOnly":true,"type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"ownerId":{"type":"string"},"ownerType":{"enum":["org","account"],"type":"string"},"region":{"type":"string"}},"required":["id","name","ownerType","ownerId","region","createdAt"],"type":"object"},"ProjectGrant":{"additionalProperties":false,"properties":{"granteeId":{"type":"string"},"granteeType":{"type":"string"},"role":{"type":"string"}},"required":["granteeType","granteeId","role"],"type":"object"},"Repo":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/Repo.json"],"format":"uri","readOnly":true,"type":"string"},"clusterHost":{"type":"string"},"foreign":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"},"objectFormat":{"enum":["sha1","sha256"],"type":"string"},"owningProjectId":{"type":"string"},"path":{"type":"string"},"provisionAttempts":{"format":"int64","type":"integer"},"provisionReason":{"type":"string"},"state":{"enum":["provisioning","active","failed"],"type":"string"}},"required":["id","owningProjectId","name"],"type":"object"},"ResolvedIdentity":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ResolvedIdentity.json"],"format":"uri","readOnly":true,"type":"string"},"accountId":{"type":"string"},"handle":{"type":"string"},"provider":{"type":"string"},"providerUserId":{"type":"string"}},"required":["accountId","provider","handle","providerUserId"],"type":"object"},"ResourceAccess":{"additionalProperties":false,"properties":{"permissions":{"items":{"type":"string"},"type":"array"},"resourceId":{"type":"string"}},"required":["resourceId","permissions"],"type":"object"},"ServiceAccount":{"additionalProperties":false,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ServiceAccount.json"],"format":"uri","readOnly":true,"type":"string"},"accountId":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"orgId":{"type":"string"},"status":{"type":"string"},"systemManaged":{"type":"boolean"}},"required":["accountId","name","orgId","status","systemManaged","createdAt"],"type":"object"},"ServiceAccountGrant":{"additionalProperties":false,"properties":{"resourceId":{"type":"string"},"resourceName":{"type":"string"},"resourceType":{"type":"string"},"role":{"type":"string"}},"required":["resourceType","resourceId","role"],"type":"object"},"ServiceAccountWithGrants":{"additionalProperties":false,"properties":{"accountId":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"grants":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"orgId":{"type":"string"},"status":{"type":"string"},"systemManaged":{"type":"boolean"}},"required":["grants","accountId","name","orgId","status","systemManaged","createdAt"],"type":"object"}},"securitySchemes":{"bearerAuth":{"bearerFormat":"JWT","description":"Bearer token minted by entire-core's device-code flow or STS exchange.","scheme":"bearer","type":"http"},"sessionAuth":{"description":"Console session cookie issued by the browser login flow.","in":"cookie","name":"entire_session","type":"apiKey"}}},"info":{"description":"Entire control plane: identity, orgs, projects, repos, mirrors, service accounts.","title":"Entire Core API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/access/{resourceType}":{"get":{"operationId":"lookupResources","parameters":[{"description":"SpiceDB resource type (e.g. \"repo\", \"project\", \"org\").","in":"path","name":"resourceType","required":true,"schema":{"description":"SpiceDB resource type (e.g. \"repo\", \"project\", \"org\").","minLength":1,"type":"string"}},{"description":"Optional: only list resources where the caller has this permission.","explode":false,"in":"query","name":"permission","schema":{"description":"Optional: only list resources where the caller has this permission.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupResourcesOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List resources of a type the caller can access","tags":["identity"]}},"/access/{resourceType}/{resourceId}":{"get":{"operationId":"getPermissions","parameters":[{"in":"path","name":"resourceType","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"minLength":1,"type":"string"}},{"description":"If set, return the SpiceDB trace for this permission instead of the permission list.","explode":false,"in":"query","name":"explain","schema":{"description":"If set, return the SpiceDB trace for this permission instead of the permission list.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPermissionsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List the caller's permissions on a single resource","tags":["identity"]}},"/audit":{"get":{"operationId":"listAuditEvents","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAuditEventsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List the calling account's recent audit events","tags":["identity"]}},"/identity/handles/{provider}/{handle}":{"get":{"operationId":"resolveHandle","parameters":[{"description":"IdP slug (e.g. \"github\").","in":"path","name":"provider","required":true,"schema":{"description":"IdP slug (e.g. \"github\").","minLength":1,"type":"string"}},{"description":"User-visible handle at the provider.","in":"path","name":"handle","required":true,"schema":{"description":"User-visible handle at the provider.","minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolvedIdentity"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Resolve account by external provider handle","tags":["identity"]}},"/lookup":{"post":{"operationId":"batchLookup","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchLookupInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchLookupOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Batch-resolve (type, id) refs to enriched records","tags":["identity"]}},"/me":{"get":{"operationId":"getMe","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMeOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Get the calling account's identity and profile","tags":["identity"]}},"/mirrors":{"delete":{"operationId":"deleteMirror","parameters":[{"explode":false,"in":"query","name":"provider","required":true,"schema":{"enum":["github"],"type":"string"}},{"explode":false,"in":"query","name":"owner","required":true,"schema":{"minLength":1,"type":"string"}},{"explode":false,"in":"query","name":"repo","required":true,"schema":{"minLength":1,"type":"string"}},{"description":"Public host of the cluster serving the mirror.","explode":false,"in":"query","name":"clusterHost","required":true,"schema":{"description":"Public host of the cluster serving the mirror.","minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"421":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Misdirected Request"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Gateway"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Delete a mirror by upstream coords + cluster host","tags":["mirrors"]},"get":{"operationId":"listMirrors","parameters":[{"description":"Optional: restrict to mirrors on this cluster (public host, e.g. royalcanin.partial.to).","explode":false,"in":"query","name":"cluster","schema":{"description":"Optional: restrict to mirrors on this cluster (public host, e.g. royalcanin.partial.to).","type":"string"}},{"description":"Optional: restrict to mirrors of this upstream provider (e.g. \"github\").","explode":false,"in":"query","name":"provider","schema":{"description":"Optional: restrict to mirrors of this upstream provider (e.g. \"github\").","type":"string"}},{"description":"Optional: restrict to mirrors with this upstream owner login.","explode":false,"in":"query","name":"owner","schema":{"description":"Optional: restrict to mirrors with this upstream owner login.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMirrorsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List mirrors visible to the caller","tags":["mirrors"]},"post":{"operationId":"createMirror","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMirrorInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedMirror"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Precondition Failed"},"421":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Misdirected Request"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Gateway"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create GitHub mirror","tags":["mirrors"]}},"/mirrors/{mirrorId}":{"get":{"operationId":"getMirror","parameters":[{"in":"path","name":"mirrorId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mirror"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Get mirror by id","tags":["mirrors"]}},"/oidc-providers":{"get":{"operationId":"listOIDCProviders","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOIDCProvidersOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List federated OIDC identity providers","tags":["identity"]}},"/orgs":{"get":{"operationId":"listOrgs","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrgsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List organizations the caller can see","tags":["orgs"]},"post":{"operationId":"createOrg","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrgInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Org"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create organization","tags":["orgs"]}},"/orgs/{orgId}/members":{"get":{"operationId":"listOrgMembers","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrgMembersOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List members of an organization","tags":["orgs"]},"post":{"operationId":"addOrgMember","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddOrgMemberInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Membership"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Add a member to an organization","tags":["orgs"]}},"/orgs/{orgId}/members/{provider}/{providerUserId}":{"delete":{"operationId":"removeOrgMember","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}},{"in":"path","name":"provider","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"path","name":"providerUserId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Remove a member from an organization","tags":["orgs"]}},"/orgs/{orgId}/projects":{"get":{"operationId":"listOrgProjects","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrgProjectsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List projects owned by an organization","tags":["projects"]}},"/projects":{"get":{"operationId":"listProjects","parameters":[{"description":"Optional: exact-match project name.","explode":false,"in":"query","name":"name","schema":{"description":"Optional: exact-match project name.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListProjectsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List projects accessible to the caller (or one by name)","tags":["projects"]},"post":{"operationId":"createProject","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create project","tags":["projects"]}},"/projects/{projectId}/grants":{"post":{"operationId":"grantProjectAccess","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantProjectAccessInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantProjectAccessOutputBody"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Grant project access to an identity","tags":["projects"]}},"/projects/{projectId}/grants/account/{provider}/{providerUserId}":{"delete":{"operationId":"revokeProjectAccessByProvider","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}},{"in":"path","name":"provider","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"path","name":"providerUserId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Revoke project access by provider identity","tags":["projects"]}},"/projects/{projectId}/grants/{granteeType}/{granteeId}":{"delete":{"operationId":"revokeProjectAccess","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}},{"in":"path","name":"granteeType","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"path","name":"granteeId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Revoke project access by grantee id","tags":["projects"]}},"/projects/{projectId}/members":{"get":{"operationId":"listProjectMembers","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListProjectMembersOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List project members and their roles","tags":["projects"]}},"/projects/{projectId}/repos":{"get":{"operationId":"listProjectRepos","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListProjectReposOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List repositories in a project","tags":["repos"]}},"/repos":{"post":{"operationId":"createRepo","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRepoInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Repo"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create repository","tags":["repos"]}},"/repos/{repoId}":{"delete":{"operationId":"deleteRepo","parameters":[{"in":"path","name":"repoId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Gateway"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Delete repository","tags":["repos"]},"get":{"operationId":"getRepo","parameters":[{"in":"path","name":"repoId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Repo"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Get repository","tags":["repos"]}},"/repos/{repoId}/grants":{"post":{"operationId":"grantRepoAccess","parameters":[{"in":"path","name":"repoId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantRepoAccessInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantRepoAccessOutputBody"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Grant repo access to an identity","tags":["repos"]}},"/service-accounts":{"get":{"operationId":"listServiceAccounts","parameters":[{"explode":false,"in":"query","name":"orgId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListServiceAccountsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List service accounts in an org","tags":["service-accounts"]},"post":{"operationId":"createServiceAccount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServiceAccountInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccount"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create service account","tags":["service-accounts"]}},"/service-accounts/{accountId}":{"delete":{"operationId":"deleteServiceAccount","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Delete service account","tags":["service-accounts"]},"get":{"operationId":"getServiceAccount","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccount"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Get service account","tags":["service-accounts"]}},"/service-accounts/{accountId}/bindings":{"get":{"operationId":"listBindings","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListBindingsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List OIDC bindings","tags":["service-accounts"]},"post":{"operationId":"createBinding","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBindingInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Binding"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create OIDC binding","tags":["service-accounts"]}},"/service-accounts/{accountId}/bindings/{bindingId}":{"delete":{"operationId":"deleteBinding","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"path","name":"bindingId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Delete OIDC binding","tags":["service-accounts"]}},"/service-accounts/{accountId}/grants":{"get":{"operationId":"listServiceAccountGrants","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListServiceAccountGrantsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List service account grants","tags":["service-accounts"]},"post":{"operationId":"grantServiceAccountAccess","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantServiceAccountAccessInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantServiceAccountAccessOutputBody"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Grant service account access on a repo or project","tags":["service-accounts"]}},"/service-accounts/{accountId}/grants/{resourceType}/{resourceId}":{"delete":{"operationId":"revokeServiceAccountAccess","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"path","name":"resourceType","required":true,"schema":{"enum":["repo","project"],"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Revoke service account access","tags":["service-accounts"]}}},"servers":[{"url":"/api/v1"}]} +{"components":{"schemas":{"AddOrgMemberInputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/AddOrgMemberInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"provider":{"minLength":1,"type":"string"},"providerUserId":{"minLength":1,"type":"string"},"role":{"default":"member","description":"Role at the org; defaults to member.","enum":["owner","admin","member"],"type":"string"}},"required":["provider","providerUserId"],"type":"object"},"AuditEvent":{"additionalProperties":true,"properties":{"actorId":{"type":"string"},"eventType":{"type":"string"},"id":{"type":"string"},"ipAddress":{"description":"Source IP recorded when the event was logged.","type":"string"},"metadata":{"additionalProperties":{},"type":"object"},"occurredAt":{"format":"date-time","type":"string"}},"required":["id","occurredAt","eventType","actorId"],"type":"object"},"BatchLookupInputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/BatchLookupInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"refs":{"items":{"$ref":"#/components/schemas/LookupRef"},"maxItems":100,"minItems":1,"type":"array"}},"required":["refs"],"type":"object"},"BatchLookupOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/BatchLookupOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"refs":{"items":{"$ref":"#/components/schemas/LookupRefResult"},"type":"array"}},"required":["refs"],"type":"object"},"Binding":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/Binding.json"],"format":"uri","readOnly":true,"type":"string"},"accountId":{"type":"string"},"attributeFilter":{},"createdAt":{"format":"date-time","type":"string"},"id":{"type":"string"},"providerId":{"type":"string"}},"required":["id","accountId","providerId","attributeFilter","createdAt"],"type":"object"},"CreateBindingInputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreateBindingInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"attributeFilter":{"description":"Exact-match key/value map; empty filter matches any token."},"providerId":{"minLength":1,"type":"string"}},"required":["providerId"],"type":"object"},"CreateMirrorInputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreateMirrorInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"clusterHost":{"description":"DNS host of the destination cluster.","minLength":1,"type":"string"},"owner":{"minLength":1,"type":"string"},"provider":{"enum":["github"],"type":"string"},"repo":{"minLength":1,"type":"string"}},"required":["provider","owner","repo","clusterHost"],"type":"object"},"CreateOrgInputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreateOrgInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"name":{"description":"Display name.","maxLength":100,"minLength":1,"type":"string"},"region":{"description":"Jurisdiction slug; defaults to the server's home jurisdiction.","type":"string"}},"required":["name"],"type":"object"},"CreateProjectInputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreateProjectInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"name":{"maxLength":100,"minLength":1,"type":"string"},"ownerId":{"minLength":1,"type":"string"},"ownerType":{"enum":["org","account"],"type":"string"},"region":{"type":"string"}},"required":["name","ownerType","ownerId"],"type":"object"},"CreateRepoInputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreateRepoInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"clusterHost":{"description":"Public host of the cluster to pin the repo to (e.g. royalcanin.partial.to); empty lands on the jurisdiction default.","type":"string"},"name":{"minLength":1,"type":"string"},"objectFormat":{"description":"Hash format; defaults to sha1.","enum":["sha1","sha256"],"type":"string"},"projectId":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}},"required":["projectId","name"],"type":"object"},"CreateServiceAccountInputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreateServiceAccountInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"name":{"minLength":1,"type":"string"},"orgId":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}},"required":["orgId","name"],"type":"object"},"CreatedMirror":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/CreatedMirror.json"],"format":"uri","readOnly":true,"type":"string"},"created":{"description":"true on fresh creation; false when an existing mirror was returned.","type":"boolean"},"empty":{"description":"true when the upstream has no refs to clone.","type":"boolean"},"mirrorId":{"type":"string"},"mirrorUrl":{"type":"string"},"publicUrl":{"type":"string"}},"required":["mirrorId","mirrorUrl","publicUrl","created","empty"],"type":"object"},"ErrorDetail":{"additionalProperties":true,"properties":{"location":{"description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'","type":"string"},"message":{"description":"Error message text","type":"string"},"value":{"description":"The value at the given location"}},"type":"object"},"ErrorModel":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ErrorModel.json"],"format":"uri","readOnly":true,"type":"string"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","examples":["Property foo is required but is missing."],"type":"string"},"errors":{"description":"Optional list of individual error details","items":{"$ref":"#/components/schemas/ErrorDetail"},"type":"array"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","examples":["https://example.com/error-log/abc123"],"format":"uri","type":"string"},"status":{"description":"HTTP status code","examples":[400],"format":"int64","type":"integer"},"title":{"description":"A short, human-readable summary of the problem type. This value should not change between occurrences of the error.","examples":["Bad Request"],"type":"string"},"type":{"default":"about:blank","description":"A URI reference to human-readable documentation for the error.","examples":["https://example.com/errors/example"],"format":"uri","type":"string"}},"type":"object"},"GetMeOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GetMeOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"auth":{"$ref":"#/components/schemas/MeAuth"},"global":{"$ref":"#/components/schemas/MeGlobal"},"jurisdiction":{"type":"string"},"mode":{"enum":["standalone","global","regional"],"type":"string"},"regional":{"$ref":"#/components/schemas/MeRegional"},"regionalUnavailable":{"$ref":"#/components/schemas/MeRegionalUnavailable"}},"required":["global","auth"],"type":"object"},"GetPermissionsOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GetPermissionsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"explain":{"additionalProperties":{},"type":"object"},"permissions":{"items":{"type":"string"},"type":"array"},"resourceId":{"type":"string"},"resourceType":{"type":"string"}},"required":["resourceType","resourceId"],"type":"object"},"GrantProjectAccessInputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GrantProjectAccessInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"granteeType":{"default":"account","enum":["account","org","team"],"type":"string"},"provider":{"minLength":1,"type":"string"},"providerUserId":{"minLength":1,"type":"string"},"role":{"minLength":1,"type":"string"}},"required":["provider","providerUserId","role"],"type":"object"},"GrantProjectAccessOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GrantProjectAccessOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"status":{"type":"string"}},"required":["status"],"type":"object"},"GrantRepoAccessInputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GrantRepoAccessInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"granteeType":{"default":"account","enum":["account","org","team"],"type":"string"},"provider":{"minLength":1,"type":"string"},"providerUserId":{"minLength":1,"type":"string"},"role":{"minLength":1,"type":"string"}},"required":["provider","providerUserId","role"],"type":"object"},"GrantRepoAccessOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GrantRepoAccessOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"status":{"type":"string"}},"required":["status"],"type":"object"},"GrantServiceAccountAccessInputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GrantServiceAccountAccessInputBody.json"],"format":"uri","readOnly":true,"type":"string"},"resourceId":{"minLength":1,"type":"string"},"resourceType":{"enum":["repo","project"],"type":"string"},"role":{"minLength":1,"type":"string"}},"required":["resourceType","resourceId","role"],"type":"object"},"GrantServiceAccountAccessOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/GrantServiceAccountAccessOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"status":{"type":"string"}},"required":["status"],"type":"object"},"ListAuditEventsOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListAuditEventsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"events":{"items":{"$ref":"#/components/schemas/AuditEvent"},"type":"array"}},"required":["events"],"type":"object"},"ListBindingsOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListBindingsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"bindings":{"items":{"$ref":"#/components/schemas/Binding"},"type":"array"}},"required":["bindings"],"type":"object"},"ListMirrorsOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListMirrorsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"mirrors":{"items":{"$ref":"#/components/schemas/Mirror"},"type":"array"}},"required":["mirrors"],"type":"object"},"ListOIDCProvidersOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListOIDCProvidersOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"providers":{"items":{"$ref":"#/components/schemas/OIDCProvider"},"type":"array"}},"required":["providers"],"type":"object"},"ListOrgMembersOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListOrgMembersOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"members":{"items":{"$ref":"#/components/schemas/Membership"},"type":"array"}},"required":["members"],"type":"object"},"ListOrgProjectsOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListOrgProjectsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"projects":{"items":{"$ref":"#/components/schemas/Project"},"type":"array"}},"required":["projects"],"type":"object"},"ListOrgsOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListOrgsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"orgs":{"items":{"$ref":"#/components/schemas/Org"},"type":"array"}},"required":["orgs"],"type":"object"},"ListProjectMembersOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListProjectMembersOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"members":{"items":{"$ref":"#/components/schemas/ProjectGrant"},"type":"array"}},"required":["members"],"type":"object"},"ListProjectReposOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListProjectReposOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"repos":{"items":{"$ref":"#/components/schemas/Repo"},"type":"array"}},"required":["repos"],"type":"object"},"ListProjectsOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListProjectsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"project":{"$ref":"#/components/schemas/Project"},"projects":{"items":{"$ref":"#/components/schemas/Project"},"type":"array"}},"type":"object"},"ListServiceAccountGrantsOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListServiceAccountGrantsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"grants":{"items":{"$ref":"#/components/schemas/ServiceAccountGrant"},"type":"array"}},"required":["grants"],"type":"object"},"ListServiceAccountsOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ListServiceAccountsOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"serviceAccounts":{"items":{"$ref":"#/components/schemas/ServiceAccountWithGrants"},"type":"array"}},"required":["serviceAccounts"],"type":"object"},"LookupRef":{"additionalProperties":true,"properties":{"id":{"minLength":1,"type":"string"},"type":{"description":"Resource type slug; \"org\", \"project\", \"repo\" are enriched, unknown types pass through.","minLength":1,"type":"string"}},"required":["type","id"],"type":"object"},"LookupRefResult":{"additionalProperties":true,"properties":{"id":{"type":"string"},"name":{"type":"string"},"ownerId":{"type":"string"},"ownerType":{"enum":["org","account"],"type":"string"},"projectId":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"required":["type","id"],"type":"object"},"LookupResourcesOutputBody":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/LookupResourcesOutputBody.json"],"format":"uri","readOnly":true,"type":"string"},"permission":{"type":"string"},"resourceIds":{"items":{"type":"string"},"type":"array"},"resourceType":{"type":"string"},"resources":{"items":{"$ref":"#/components/schemas/ResourceAccess"},"type":"array"}},"required":["resourceType"],"type":"object"},"MeAuth":{"additionalProperties":true,"properties":{"provider":{"type":"string"},"providerUserId":{"type":"string"}},"required":["provider","providerUserId"],"type":"object"},"MeGlobal":{"additionalProperties":true,"properties":{"accountId":{"type":"string"},"avatarUrl":{"type":"string"},"handle":{"type":"string"},"handles":{"items":{"$ref":"#/components/schemas/MeIdentityHandle"},"type":"array"},"homeJurisdiction":{"type":"string"}},"required":["accountId","handles"],"type":"object"},"MeIdentityHandle":{"additionalProperties":true,"properties":{"handle":{"type":"string"},"provider":{"type":"string"},"providerUserId":{"type":"string"}},"required":["provider","handle","providerUserId"],"type":"object"},"MeRegional":{"additionalProperties":true,"properties":{"bio":{"type":"string"},"company":{"type":"string"},"displayName":{"type":"string"},"email":{"type":"string"},"location":{"type":"string"}},"type":"object"},"MeRegionalUnavailable":{"additionalProperties":true,"properties":{"error":{"description":"Always 'foreign_jurisdiction'. Discriminator for client-side state machines.","enum":["foreign_jurisdiction"],"type":"string"},"homeCoreUrl":{"description":"Deep link into the home console for this account.","type":"string"},"jurisdiction":{"description":"The account's home jurisdiction (e.g. 'us', 'eu').","type":"string"},"message":{"description":"Human-readable copy ready to surface in a UI.","type":"string"}},"required":["error","jurisdiction","homeCoreUrl","message"],"type":"object"},"Membership":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/Membership.json"],"format":"uri","readOnly":true,"type":"string"},"accountId":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"type":"string"},"orgId":{"type":"string"},"role":{"type":"string"},"status":{"type":"string"},"workosOrgMembershipId":{"type":"string"}},"required":["id","accountId","orgId","role","status","createdAt"],"type":"object"},"Mirror":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/Mirror.json"],"format":"uri","readOnly":true,"type":"string"},"clusterHost":{"description":"Public host of the cluster serving this mirror.","type":"string"},"createdAt":{"format":"date-time","type":"string"},"installationId":{"format":"int64","type":"integer"},"isArchived":{"type":"boolean"},"isPrivate":{"type":"boolean"},"jurisdiction":{"type":"string"},"mirrorId":{"type":"string"},"owner":{"type":"string"},"provider":{"type":"string"},"repo":{"type":"string"},"suspendedAt":{"format":"date-time","type":"string"}},"required":["mirrorId","provider","owner","repo","clusterHost","createdAt"],"type":"object"},"OIDCProvider":{"additionalProperties":true,"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"type":"string"},"issuer":{"type":"string"}},"required":["id","issuer"],"type":"object"},"Org":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/Org.json"],"format":"uri","readOnly":true,"type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"workosOrganizationId":{"type":"string"}},"required":["id","name","region","createdAt"],"type":"object"},"Project":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/Project.json"],"format":"uri","readOnly":true,"type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"ownerId":{"type":"string"},"ownerType":{"enum":["org","account"],"type":"string"},"region":{"type":"string"}},"required":["id","name","ownerType","ownerId","region","createdAt"],"type":"object"},"ProjectGrant":{"additionalProperties":true,"properties":{"granteeId":{"type":"string"},"granteeType":{"type":"string"},"role":{"type":"string"}},"required":["granteeType","granteeId","role"],"type":"object"},"Repo":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/Repo.json"],"format":"uri","readOnly":true,"type":"string"},"clusterHost":{"type":"string"},"foreign":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"},"objectFormat":{"enum":["sha1","sha256"],"type":"string"},"owningProjectId":{"type":"string"},"path":{"type":"string"},"provisionAttempts":{"format":"int64","type":"integer"},"provisionReason":{"type":"string"},"state":{"enum":["provisioning","active","failed"],"type":"string"}},"required":["id","owningProjectId","name"],"type":"object"},"ResolvedIdentity":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ResolvedIdentity.json"],"format":"uri","readOnly":true,"type":"string"},"accountId":{"type":"string"},"handle":{"type":"string"},"provider":{"type":"string"},"providerUserId":{"type":"string"}},"required":["accountId","provider","handle","providerUserId"],"type":"object"},"ResourceAccess":{"additionalProperties":true,"properties":{"permissions":{"items":{"type":"string"},"type":"array"},"resourceId":{"type":"string"}},"required":["resourceId","permissions"],"type":"object"},"ServiceAccount":{"additionalProperties":true,"properties":{"$schema":{"description":"A URL to the JSON Schema for this object.","examples":["/api/v1/schemas/ServiceAccount.json"],"format":"uri","readOnly":true,"type":"string"},"accountId":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"orgId":{"type":"string"},"status":{"type":"string"},"systemManaged":{"type":"boolean"}},"required":["accountId","name","orgId","status","systemManaged","createdAt"],"type":"object"},"ServiceAccountGrant":{"additionalProperties":true,"properties":{"resourceId":{"type":"string"},"resourceName":{"type":"string"},"resourceType":{"type":"string"},"role":{"type":"string"}},"required":["resourceType","resourceId","role"],"type":"object"},"ServiceAccountWithGrants":{"additionalProperties":true,"properties":{"accountId":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"grants":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"orgId":{"type":"string"},"status":{"type":"string"},"systemManaged":{"type":"boolean"}},"required":["grants","accountId","name","orgId","status","systemManaged","createdAt"],"type":"object"}},"securitySchemes":{"bearerAuth":{"bearerFormat":"JWT","description":"Bearer token minted by entire-core's device-code flow or STS exchange.","scheme":"bearer","type":"http"},"sessionAuth":{"description":"Console session cookie issued by the browser login flow.","in":"cookie","name":"entire_session","type":"apiKey"}}},"info":{"description":"Entire control plane: identity, orgs, projects, repos, mirrors, service accounts.","title":"Entire Core API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/access/{resourceType}":{"get":{"operationId":"lookupResources","parameters":[{"description":"SpiceDB resource type (e.g. \"repo\", \"project\", \"org\").","in":"path","name":"resourceType","required":true,"schema":{"description":"SpiceDB resource type (e.g. \"repo\", \"project\", \"org\").","minLength":1,"type":"string"}},{"description":"Optional: only list resources where the caller has this permission.","explode":false,"in":"query","name":"permission","schema":{"description":"Optional: only list resources where the caller has this permission.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupResourcesOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List resources of a type the caller can access","tags":["identity"]}},"/access/{resourceType}/{resourceId}":{"get":{"operationId":"getPermissions","parameters":[{"in":"path","name":"resourceType","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"minLength":1,"type":"string"}},{"description":"If set, return the SpiceDB trace for this permission instead of the permission list.","explode":false,"in":"query","name":"explain","schema":{"description":"If set, return the SpiceDB trace for this permission instead of the permission list.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPermissionsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List the caller's permissions on a single resource","tags":["identity"]}},"/audit":{"get":{"operationId":"listAuditEvents","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAuditEventsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List the calling account's recent audit events","tags":["identity"]}},"/identity/handles/{provider}/{handle}":{"get":{"operationId":"resolveHandle","parameters":[{"description":"IdP slug (e.g. \"github\").","in":"path","name":"provider","required":true,"schema":{"description":"IdP slug (e.g. \"github\").","minLength":1,"type":"string"}},{"description":"User-visible handle at the provider.","in":"path","name":"handle","required":true,"schema":{"description":"User-visible handle at the provider.","minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolvedIdentity"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Resolve account by external provider handle","tags":["identity"]}},"/lookup":{"post":{"operationId":"batchLookup","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchLookupInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchLookupOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Batch-resolve (type, id) refs to enriched records","tags":["identity"]}},"/me":{"get":{"operationId":"getMe","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMeOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Get the calling account's identity and profile","tags":["identity"]}},"/mirrors":{"delete":{"operationId":"deleteMirror","parameters":[{"explode":false,"in":"query","name":"provider","required":true,"schema":{"enum":["github"],"type":"string"}},{"explode":false,"in":"query","name":"owner","required":true,"schema":{"minLength":1,"type":"string"}},{"explode":false,"in":"query","name":"repo","required":true,"schema":{"minLength":1,"type":"string"}},{"description":"Public host of the cluster serving the mirror.","explode":false,"in":"query","name":"clusterHost","required":true,"schema":{"description":"Public host of the cluster serving the mirror.","minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"421":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Misdirected Request"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Gateway"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Delete a mirror by upstream coords + cluster host","tags":["mirrors"]},"get":{"operationId":"listMirrors","parameters":[{"description":"Optional: restrict to mirrors on this cluster (public host, e.g. royalcanin.partial.to).","explode":false,"in":"query","name":"cluster","schema":{"description":"Optional: restrict to mirrors on this cluster (public host, e.g. royalcanin.partial.to).","type":"string"}},{"description":"Optional: restrict to mirrors of this upstream provider (e.g. \"github\").","explode":false,"in":"query","name":"provider","schema":{"description":"Optional: restrict to mirrors of this upstream provider (e.g. \"github\").","type":"string"}},{"description":"Optional: restrict to mirrors with this upstream owner login.","explode":false,"in":"query","name":"owner","schema":{"description":"Optional: restrict to mirrors with this upstream owner login.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMirrorsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List mirrors visible to the caller","tags":["mirrors"]},"post":{"operationId":"createMirror","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMirrorInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedMirror"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Precondition Failed"},"421":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Misdirected Request"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Gateway"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create GitHub mirror","tags":["mirrors"]}},"/mirrors/{mirrorId}":{"get":{"operationId":"getMirror","parameters":[{"in":"path","name":"mirrorId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mirror"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Get mirror by id","tags":["mirrors"]}},"/oidc-providers":{"get":{"operationId":"listOIDCProviders","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOIDCProvidersOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List federated OIDC identity providers","tags":["identity"]}},"/orgs":{"get":{"operationId":"listOrgs","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrgsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List organizations the caller can see","tags":["orgs"]},"post":{"operationId":"createOrg","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrgInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Org"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create organization","tags":["orgs"]}},"/orgs/{orgId}/members":{"get":{"operationId":"listOrgMembers","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrgMembersOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List members of an organization","tags":["orgs"]},"post":{"operationId":"addOrgMember","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddOrgMemberInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Membership"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Add a member to an organization","tags":["orgs"]}},"/orgs/{orgId}/members/{provider}/{providerUserId}":{"delete":{"operationId":"removeOrgMember","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}},{"in":"path","name":"provider","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"path","name":"providerUserId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Remove a member from an organization","tags":["orgs"]}},"/orgs/{orgId}/projects":{"get":{"operationId":"listOrgProjects","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrgProjectsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List projects owned by an organization","tags":["projects"]}},"/projects":{"get":{"operationId":"listProjects","parameters":[{"description":"Optional: exact-match project name.","explode":false,"in":"query","name":"name","schema":{"description":"Optional: exact-match project name.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListProjectsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List projects accessible to the caller (or one by name)","tags":["projects"]},"post":{"operationId":"createProject","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create project","tags":["projects"]}},"/projects/{projectId}/grants":{"post":{"operationId":"grantProjectAccess","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantProjectAccessInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantProjectAccessOutputBody"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Grant project access to an identity","tags":["projects"]}},"/projects/{projectId}/grants/account/{provider}/{providerUserId}":{"delete":{"operationId":"revokeProjectAccessByProvider","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}},{"in":"path","name":"provider","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"path","name":"providerUserId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Revoke project access by provider identity","tags":["projects"]}},"/projects/{projectId}/grants/{granteeType}/{granteeId}":{"delete":{"operationId":"revokeProjectAccess","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}},{"in":"path","name":"granteeType","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"path","name":"granteeId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Revoke project access by grantee id","tags":["projects"]}},"/projects/{projectId}/members":{"get":{"operationId":"listProjectMembers","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListProjectMembersOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List project members and their roles","tags":["projects"]}},"/projects/{projectId}/repos":{"get":{"operationId":"listProjectRepos","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListProjectReposOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List repositories in a project","tags":["repos"]}},"/repos":{"post":{"operationId":"createRepo","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRepoInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Repo"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create repository","tags":["repos"]}},"/repos/{repoId}":{"delete":{"operationId":"deleteRepo","parameters":[{"in":"path","name":"repoId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Gateway"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Delete repository","tags":["repos"]},"get":{"operationId":"getRepo","parameters":[{"in":"path","name":"repoId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Repo"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Get repository","tags":["repos"]}},"/repos/{repoId}/grants":{"post":{"operationId":"grantRepoAccess","parameters":[{"in":"path","name":"repoId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantRepoAccessInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantRepoAccessOutputBody"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Grant repo access to an identity","tags":["repos"]}},"/service-accounts":{"get":{"operationId":"listServiceAccounts","parameters":[{"explode":false,"in":"query","name":"orgId","required":true,"schema":{"pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListServiceAccountsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List service accounts in an org","tags":["service-accounts"]},"post":{"operationId":"createServiceAccount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServiceAccountInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccount"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create service account","tags":["service-accounts"]}},"/service-accounts/{accountId}":{"delete":{"operationId":"deleteServiceAccount","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Delete service account","tags":["service-accounts"]},"get":{"operationId":"getServiceAccount","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccount"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Get service account","tags":["service-accounts"]}},"/service-accounts/{accountId}/bindings":{"get":{"operationId":"listBindings","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListBindingsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List OIDC bindings","tags":["service-accounts"]},"post":{"operationId":"createBinding","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBindingInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Binding"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create OIDC binding","tags":["service-accounts"]}},"/service-accounts/{accountId}/bindings/{bindingId}":{"delete":{"operationId":"deleteBinding","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"path","name":"bindingId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Delete OIDC binding","tags":["service-accounts"]}},"/service-accounts/{accountId}/grants":{"get":{"operationId":"listServiceAccountGrants","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListServiceAccountGrantsOutputBody"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List service account grants","tags":["service-accounts"]},"post":{"operationId":"grantServiceAccountAccess","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantServiceAccountAccessInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantServiceAccountAccessOutputBody"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Conflict"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Grant service account access on a repo or project","tags":["service-accounts"]}},"/service-accounts/{accountId}/grants/{resourceType}/{resourceId}":{"delete":{"operationId":"revokeServiceAccountAccess","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"path","name":"resourceType","required":true,"schema":{"enum":["repo","project"],"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Forbidden"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Not Found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Internal Server Error"},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Service Unavailable"}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Revoke service account access","tags":["service-accounts"]}}},"servers":[{"url":"/api/v1"}]} \ No newline at end of file