Fix problem in generation of securityapi
[nonrtric/plt/sme.git] / capifcore / internal / securityapi / securityapi-types.gen.go
1 // Package securityapi provides primitives to interact with the openapi HTTP API.
2 //
3 // Code generated by github.com/deepmap/oapi-codegen version v1.10.1 DO NOT EDIT.
4 package securityapi
5
6 import (
7         externalRef0 "oransc.org/nonrtric/capifcore/internal/common29122"
8         externalRef1 "oransc.org/nonrtric/capifcore/internal/common29571"
9         externalRef2 "oransc.org/nonrtric/capifcore/internal/publishserviceapi"
10 )
11
12 // Defines values for AccessTokenErrError.
13 const (
14         AccessTokenErrErrorInvalidClient AccessTokenErrError = "invalid_client"
15
16         AccessTokenErrErrorInvalidGrant AccessTokenErrError = "invalid_grant"
17
18         AccessTokenErrErrorInvalidRequest AccessTokenErrError = "invalid_request"
19
20         AccessTokenErrErrorInvalidScope AccessTokenErrError = "invalid_scope"
21
22         AccessTokenErrErrorUnauthorizedClient AccessTokenErrError = "unauthorized_client"
23
24         AccessTokenErrErrorUnsupportedGrantType AccessTokenErrError = "unsupported_grant_type"
25 )
26
27 // Defines values for AccessTokenReqGrantType.
28 const (
29         AccessTokenReqGrantTypeClientCredentials AccessTokenReqGrantType = "client_credentials"
30 )
31
32 // Defines values for AccessTokenRspTokenType.
33 const (
34         AccessTokenRspTokenTypeBearer AccessTokenRspTokenType = "Bearer"
35 )
36
37 // Defines values for Cause.
38 const (
39         CauseOVERLIMITUSAGE Cause = "OVERLIMIT_USAGE"
40
41         CauseUNEXPECTEDREASON Cause = "UNEXPECTED_REASON"
42 )
43
44 // Represents an error in the access token request.
45 type AccessTokenErr struct {
46         Error            AccessTokenErrError `json:"error"`
47         ErrorDescription *string             `json:"error_description,omitempty"`
48         ErrorUri         *string             `json:"error_uri,omitempty"`
49 }
50
51 // AccessTokenErrError defines model for AccessTokenErr.Error.
52 type AccessTokenErrError string
53
54 // Represents the access token request information.
55 type AccessTokenReq struct {
56         ClientId     string                  `json:"client_id"`
57         ClientSecret *string                 `json:"client_secret,omitempty"`
58         GrantType    AccessTokenReqGrantType `json:"grant_type"`
59         Scope        *string                 `json:"scope,omitempty"`
60 }
61
62 // AccessTokenReqGrantType defines model for AccessTokenReq.GrantType.
63 type AccessTokenReqGrantType string
64
65 // Represents the access token response information.
66 type AccessTokenRsp struct {
67         // JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims)
68         AccessToken string `json:"access_token"`
69
70         // Unsigned integer identifying a period of time in units of seconds.
71         ExpiresIn externalRef0.DurationSec `json:"expires_in"`
72         Scope     *string                  `json:"scope,omitempty"`
73         TokenType AccessTokenRspTokenType  `json:"token_type"`
74 }
75
76 // AccessTokenRspTokenType defines model for AccessTokenRsp.TokenType.
77 type AccessTokenRspTokenType string
78
79 // Possible values are:
80 // - OVERLIMIT_USAGE: The revocation of the authorization of the API invoker is due to the overlimit usage of the service API
81 // - UNEXPECTED_REASON: The revocation of the authorization of the API invoker is due to unexpected reason.
82 type Cause string
83
84 // Represents the interface details and the security method.
85 type SecurityInformation struct {
86         // Identifier of the API exposing function
87         AefId *string `json:"aefId,omitempty"`
88
89         // API identifier
90         ApiId *string `json:"apiId,omitempty"`
91
92         // Authentication related information
93         AuthenticationInfo *string `json:"authenticationInfo,omitempty"`
94
95         // Authorization related information
96         AuthorizationInfo *string `json:"authorizationInfo,omitempty"`
97
98         // Represents the description of an API's interface.
99         InterfaceDetails *externalRef2.InterfaceDescription `json:"interfaceDetails,omitempty"`
100
101         // Security methods preferred by the API invoker for the API interface.
102         PrefSecurityMethods []externalRef2.SecurityMethod `json:"prefSecurityMethods"`
103
104         // Possible values are:
105         // - PSK: Security method 1 (Using TLS-PSK) as described in 3GPP TS 33.122
106         // - PKI: Security method 2 (Using PKI) as described in 3GPP TS 33.122
107         // - OAUTH: Security method 3 (TLS with OAuth token) as described in 3GPP TS 33.122
108         SelSecurityMethod *externalRef2.SecurityMethod `json:"selSecurityMethod,omitempty"`
109 }
110
111 // Represents revoked authorization notification details.
112 type SecurityNotification struct {
113         // String identifying the AEF.
114         AefId *string `json:"aefId,omitempty"`
115
116         // Identifier of the service API
117         ApiIds []string `json:"apiIds"`
118
119         // String identifying the API invoker assigned by the CAPIF core function.
120         ApiInvokerId string `json:"apiInvokerId"`
121
122         // Possible values are:
123         // - OVERLIMIT_USAGE: The revocation of the authorization of the API invoker is due to the overlimit usage of the service API
124         // - UNEXPECTED_REASON: The revocation of the authorization of the API invoker is due to unexpected reason.
125         Cause Cause `json:"cause"`
126 }
127
128 // Represents the details of the security method for each service API interface. When included by the API invoker, it indicates the preferred method of security. When included by the CAPIF core function, it indicates the security method to be used for the service API interface.
129 type ServiceSecurity struct {
130         // string providing an URI formatted according to IETF RFC 3986.
131         NotificationDestination externalRef0.Uri `json:"notificationDestination"`
132
133         // Set to true by API invoker to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise.
134         RequestTestNotification *bool                 `json:"requestTestNotification,omitempty"`
135         SecurityInfo            []SecurityInformation `json:"securityInfo"`
136
137         // A string used to indicate the features supported by an API that is used as defined in clause  6.6 in 3GPP TS 29.500. The string shall contain a bitmask indicating supported features in  hexadecimal representation Each character in the string shall take a value of "0" to "9",  "a" to "f" or "A" to "F" and shall represent the support of 4 features as described in  table 5.2.2-3. The most significant character representing the highest-numbered features shall  appear first in the string, and the character representing features 1 to 4 shall appear last  in the string. The list of features and their numbering (starting with 1) are defined  separately for each API. If the string contains a lower number of characters than there are  defined features for an API, all features that would be represented by characters that are not  present in the string are not supported.
138         SupportedFeatures *externalRef1.SupportedFeatures `json:"supportedFeatures,omitempty"`
139
140         // Represents the configuration information for the delivery of notifications over Websockets.
141         WebsockNotifConfig *externalRef0.WebsockNotifConfig `json:"websockNotifConfig,omitempty"`
142 }
143
144 // GetTrustedInvokersApiInvokerIdParams defines parameters for GetTrustedInvokersApiInvokerId.
145 type GetTrustedInvokersApiInvokerIdParams struct {
146         // When set to 'true', it indicates the CAPIF core function to send the authentication information of the API invoker. Set to false or omitted otherwise.
147         AuthenticationInfo *bool `json:"authenticationInfo,omitempty"`
148
149         // When set to 'true', it indicates the CAPIF core function to send the authorization information of the API invoker. Set to false or omitted otherwise.
150         AuthorizationInfo *bool `json:"authorizationInfo,omitempty"`
151 }
152
153 // PutTrustedInvokersApiInvokerIdJSONBody defines parameters for PutTrustedInvokersApiInvokerId.
154 type PutTrustedInvokersApiInvokerIdJSONBody ServiceSecurity
155
156 // PostTrustedInvokersApiInvokerIdDeleteJSONBody defines parameters for PostTrustedInvokersApiInvokerIdDelete.
157 type PostTrustedInvokersApiInvokerIdDeleteJSONBody SecurityNotification
158
159 // PostTrustedInvokersApiInvokerIdUpdateJSONBody defines parameters for PostTrustedInvokersApiInvokerIdUpdate.
160 type PostTrustedInvokersApiInvokerIdUpdateJSONBody ServiceSecurity
161
162 // PutTrustedInvokersApiInvokerIdJSONRequestBody defines body for PutTrustedInvokersApiInvokerId for application/json ContentType.
163 type PutTrustedInvokersApiInvokerIdJSONRequestBody PutTrustedInvokersApiInvokerIdJSONBody
164
165 // PostTrustedInvokersApiInvokerIdDeleteJSONRequestBody defines body for PostTrustedInvokersApiInvokerIdDelete for application/json ContentType.
166 type PostTrustedInvokersApiInvokerIdDeleteJSONRequestBody PostTrustedInvokersApiInvokerIdDeleteJSONBody
167
168 // PostTrustedInvokersApiInvokerIdUpdateJSONRequestBody defines body for PostTrustedInvokersApiInvokerIdUpdate for application/json ContentType.
169 type PostTrustedInvokersApiInvokerIdUpdateJSONRequestBody PostTrustedInvokersApiInvokerIdUpdateJSONBody