accessrules.go 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564
  1. package accessrules
  2. import (
  3. "context"
  4. "encoding/xml"
  5. "time"
  6. "lc/common/onvif/soap"
  7. )
  8. // against "unused imports"
  9. var _ time.Time
  10. var _ xml.Name
  11. // GetServiceCapabilities type
  12. type GetServiceCapabilities struct {
  13. XMLName xml.Name `xml:"http://www.onvif.org/ver10/accessrules/wsdl GetServiceCapabilities"`
  14. }
  15. // GetServiceCapabilitiesResponse type
  16. type GetServiceCapabilitiesResponse struct {
  17. XMLName xml.Name `xml:"GetServiceCapabilitiesResponse"`
  18. // The capability response message contains the requested access rules
  19. // service capabilities using a hierarchical XML capability structure.
  20. //
  21. Capabilities ServiceCapabilities `xml:"Capabilities,omitempty"`
  22. }
  23. // GetAccessProfileInfo type
  24. type GetAccessProfileInfo struct {
  25. XMLName xml.Name `xml:"http://www.onvif.org/ver10/accessrules/wsdl GetAccessProfileInfo"`
  26. // Tokens of AccessProfileInfo items to get.
  27. Token []ReferenceToken `xml:"http://www.onvif.org/ver10/accessrules/wsdl Token,omitempty"`
  28. }
  29. // GetAccessProfileInfoResponse type
  30. type GetAccessProfileInfoResponse struct {
  31. XMLName xml.Name `xml:"GetAccessProfileInfoResponse"`
  32. // List of AccessProfileInfo items.
  33. AccessProfileInfo []AccessProfileInfo `xml:"AccessProfileInfo,omitempty"`
  34. }
  35. // GetAccessProfileInfoList type
  36. type GetAccessProfileInfoList struct {
  37. XMLName xml.Name `xml:"http://www.onvif.org/ver10/accessrules/wsdl GetAccessProfileInfoList"`
  38. // Maximum number of entries to return. If not specified, less than one
  39. // or higher than what the device supports, the number of items is determined by the
  40. // device.
  41. //
  42. Limit int32 `xml:"http://www.onvif.org/ver10/schema Limit,omitempty"`
  43. // Start returning entries from this start reference. If not specified,
  44. // entries shall start from the beginning of the dataset.
  45. //
  46. StartReference string `xml:"http://www.onvif.org/ver10/accessrules/wsdl StartReference,omitempty"`
  47. }
  48. // GetAccessProfileInfoListResponse type
  49. type GetAccessProfileInfoListResponse struct {
  50. XMLName xml.Name `xml:"GetAccessProfileInfoListResponse"`
  51. // StartReference to use in next call to get the following items. If
  52. // absent, no more items to get.
  53. //
  54. NextStartReference string `xml:"NextStartReference,omitempty"`
  55. // List of AccessProfileInfo items.
  56. AccessProfileInfo []AccessProfileInfo `xml:"AccessProfileInfo,omitempty"`
  57. }
  58. // GetAccessProfiles type
  59. type GetAccessProfiles struct {
  60. XMLName xml.Name `xml:"http://www.onvif.org/ver10/accessrules/wsdl GetAccessProfiles"`
  61. // Tokens of AccessProfile items to get.
  62. Token []ReferenceToken `xml:"http://www.onvif.org/ver10/accessrules/wsdl Token,omitempty"`
  63. }
  64. // GetAccessProfilesResponse type
  65. type GetAccessProfilesResponse struct {
  66. XMLName xml.Name `xml:"GetAccessProfilesResponse"`
  67. // List of Access Profile items.
  68. AccessProfile []AccessProfile `xml:"AccessProfile,omitempty"`
  69. }
  70. // GetAccessProfileList type
  71. type GetAccessProfileList struct {
  72. XMLName xml.Name `xml:"http://www.onvif.org/ver10/accessrules/wsdl GetAccessProfileList"`
  73. // Maximum number of entries to return. If not specified, less than one
  74. // or higher than what the device supports, the number of items is determined by the
  75. // device.
  76. //
  77. Limit int32 `xml:"http://www.onvif.org/ver10/schema Limit,omitempty"`
  78. // Start returning entries from this start reference. If not specified,
  79. // entries shall start from the beginning of the dataset.
  80. //
  81. StartReference string `xml:"http://www.onvif.org/ver10/accessrules/wsdl StartReference,omitempty"`
  82. }
  83. // GetAccessProfileListResponse type
  84. type GetAccessProfileListResponse struct {
  85. XMLName xml.Name `xml:"GetAccessProfileListResponse"`
  86. // StartReference to use in next call to get the following items. If
  87. // absent, no more items to get.
  88. //
  89. NextStartReference string `xml:"NextStartReference,omitempty"`
  90. // List of Access Profile items.
  91. AccessProfile []AccessProfile `xml:"AccessProfile,omitempty"`
  92. }
  93. // CreateAccessProfile type
  94. type CreateAccessProfile struct {
  95. XMLName xml.Name `xml:"http://www.onvif.org/ver10/accessrules/wsdl CreateAccessProfile"`
  96. // The AccessProfile to create.
  97. AccessProfile AccessProfile `xml:"http://www.onvif.org/ver10/accessrules/wsdl AccessProfile,omitempty"`
  98. }
  99. // CreateAccessProfileResponse type
  100. type CreateAccessProfileResponse struct {
  101. XMLName xml.Name `xml:"CreateAccessProfileResponse"`
  102. // The Token of created AccessProfile.
  103. Token ReferenceToken `xml:"Token,omitempty"`
  104. }
  105. // ModifyAccessProfile type
  106. type ModifyAccessProfile struct {
  107. XMLName xml.Name `xml:"http://www.onvif.org/ver10/accessrules/wsdl ModifyAccessProfile"`
  108. // The details of Access Profile
  109. AccessProfile AccessProfile `xml:"http://www.onvif.org/ver10/accessrules/wsdl AccessProfile,omitempty"`
  110. }
  111. // ModifyAccessProfileResponse type
  112. type ModifyAccessProfileResponse struct {
  113. XMLName xml.Name `xml:"ModifyAccessProfileResponse"`
  114. }
  115. // SetAccessProfile type
  116. type SetAccessProfile struct {
  117. XMLName xml.Name `xml:"http://www.onvif.org/ver10/accessrules/wsdl SetAccessProfile"`
  118. // The AccessProfile item to create or modify
  119. AccessProfile AccessProfile `xml:"http://www.onvif.org/ver10/accessrules/wsdl AccessProfile,omitempty"`
  120. }
  121. // SetAccessProfileResponse type
  122. type SetAccessProfileResponse struct {
  123. XMLName xml.Name `xml:"SetAccessProfileResponse"`
  124. }
  125. // DeleteAccessProfile type
  126. type DeleteAccessProfile struct {
  127. XMLName xml.Name `xml:"http://www.onvif.org/ver10/accessrules/wsdl DeleteAccessProfile"`
  128. // The token of the access profile to delete.
  129. Token ReferenceToken `xml:"http://www.onvif.org/ver10/accessrules/wsdl Token,omitempty"`
  130. }
  131. // DeleteAccessProfileResponse type
  132. type DeleteAccessProfileResponse struct {
  133. XMLName xml.Name `xml:"DeleteAccessProfileResponse"`
  134. }
  135. // ServiceCapabilities type
  136. type ServiceCapabilities struct {
  137. XMLName xml.Name `xml:"http://www.onvif.org/ver10/accessrules/wsdl Capabilities"`
  138. //
  139. // The maximum number of entries returned by a single Get<Entity>List or Get<Entity>
  140. // request. The device shall never return more than this number of entities in a single
  141. // response.
  142. //
  143. MaxLimit uint32 `xml:"http://www.onvif.org/ver10/schema MaxLimit,attr,omitempty"`
  144. //
  145. // Indicates the maximum number of access profiles supported by the device.
  146. //
  147. MaxAccessProfiles uint32 `xml:"http://www.onvif.org/ver10/schema MaxAccessProfiles,attr,omitempty"`
  148. //
  149. // Indicates the maximum number of access policies per access profile supported by the device.
  150. //
  151. MaxAccessPoliciesPerAccessProfile uint32 `xml:"http://www.onvif.org/ver10/schema MaxAccessPoliciesPerAccessProfile,attr,omitempty"`
  152. //
  153. // Indicates whether or not several access policies can refer to the same access point in an
  154. // access profile.
  155. //
  156. MultipleSchedulesPerAccessPointSupported bool `xml:"http://www.onvif.org/ver10/accessrules/wsdl MultipleSchedulesPerAccessPointSupported,attr,omitempty"`
  157. //
  158. // Indicates that the client is allowed to supply the token when creating access profiles. To
  159. // enable the use of the command SetAccessProfile, the value must be set to true.
  160. //
  161. ClientSuppliedTokenSupported bool `xml:"http://www.onvif.org/ver10/accessrules/wsdl ClientSuppliedTokenSupported,attr,omitempty"`
  162. }
  163. // AccessPolicy type
  164. type AccessPolicy struct {
  165. // Reference to the schedule used by the access policy.
  166. ScheduleToken ReferenceToken `xml:"http://www.onvif.org/ver10/accessrules/wsdl ScheduleToken,omitempty"`
  167. //
  168. // Reference to the entity used by the rule engine, the entity type may be specified by the
  169. // optional EntityType field explained below but is typically an access point.
  170. //
  171. Entity ReferenceToken `xml:"http://www.onvif.org/ver10/accessrules/wsdl Entity,omitempty"`
  172. //
  173. // Optional entity type; if missing, an access point type as defined by the ONVIF Access
  174. // Control Service Specification should be assumed. This can also be represented by the
  175. // QName value “tac:AccessPoint” where tac is the namespace of ONVIF Access Control
  176. // Service Specification. This field is provided for future extensions; it will allow an
  177. // access policy being extended to cover entity types other than access points as well.
  178. //
  179. EntityType QName `xml:"http://www.onvif.org/ver10/accessrules/wsdl EntityType,omitempty"`
  180. Extension AccessPolicyExtension `xml:"http://www.onvif.org/ver10/accessrules/wsdl Extension,omitempty"`
  181. }
  182. // AccessPolicyExtension type
  183. type AccessPolicyExtension struct {
  184. }
  185. // AccessProfileInfo type
  186. type AccessProfileInfo struct {
  187. *DataEntity
  188. // A user readable name. It shall be up to 64 characters.
  189. //
  190. Name Name `xml:"http://www.onvif.org/ver10/accessrules/wsdl Name,omitempty"`
  191. // User readable description for the access profile. It shall be up
  192. // to 1024 characters.
  193. //
  194. Description Description `xml:"http://www.onvif.org/ver10/accessrules/wsdl Description,omitempty"`
  195. }
  196. // AccessProfile type
  197. type AccessProfile struct {
  198. *AccessProfileInfo
  199. // A list of access policy structures, where each access policy
  200. // defines during which schedule an access point can be accessed.
  201. //
  202. AccessPolicy []AccessPolicy `xml:"http://www.onvif.org/ver10/accessrules/wsdl AccessPolicy,omitempty"`
  203. Extension AccessProfileExtension `xml:"http://www.onvif.org/ver10/accessrules/wsdl Extension,omitempty"`
  204. }
  205. // AccessProfileExtension type
  206. type AccessProfileExtension struct {
  207. }
  208. // Type used to reference logical and physical entities.
  209. // ReferenceToken type
  210. type ReferenceToken string
  211. // Type used for names of logical and physical entities.
  212. // Name type
  213. type Name string
  214. // Description is optional and the maximum length is device specific.
  215. // If the length is more than maximum length, it is silently chopped to the maximum length
  216. // supported by the device/service (which may be 0).
  217. //
  218. // Description type
  219. type Description string
  220. // Type used to represent the numbers from 1 ,2 , 3,...
  221. // DataEntity type
  222. type DataEntity struct {
  223. // A service-unique identifier of the item.
  224. Token ReferenceToken `xml:"token,attr,omitempty"`
  225. }
  226. // AccessRulesPort type
  227. type AccessRulesPort interface {
  228. /* This operation returns the capabilities of the access rules service.
  229. */
  230. GetServiceCapabilities(request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error)
  231. GetServiceCapabilitiesContext(ctx context.Context, request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error)
  232. /*
  233. This operation requests a list of AccessProfileInfo items matching the given tokens. The device shall
  234. ignore tokens it cannot resolve and shall return an empty list if there are no items matching the
  235. specified tokens. The device shall not return a fault in this case.
  236. If the number of requested items is greater than MaxLimit, a TooManyItems fault shall be returned.
  237. */
  238. GetAccessProfileInfo(request *GetAccessProfileInfo) (*GetAccessProfileInfoResponse, error)
  239. GetAccessProfileInfoContext(ctx context.Context, request *GetAccessProfileInfo) (*GetAccessProfileInfoResponse, error)
  240. /*
  241. This operation requests a list of all of AccessProfileInfo items provided by the device.
  242. A call to this method shall return a StartReference when not all data is returned and more data is
  243. available. The reference shall be valid for retrieving the next set of data.
  244. The number of items returned shall not be greater than the Limit parameter.
  245. */
  246. GetAccessProfileInfoList(request *GetAccessProfileInfoList) (*GetAccessProfileInfoListResponse, error)
  247. GetAccessProfileInfoListContext(ctx context.Context, request *GetAccessProfileInfoList) (*GetAccessProfileInfoListResponse, error)
  248. /*
  249. This operation returns the specified access profile item matching the given tokens.
  250. The device shall ignore tokens it cannot resolve and shall return an empty list if there are no items
  251. matching specified tokens. The device shall not return a fault in this case.
  252. If the number of requested items is greater than MaxLimit, a TooManyItems fault shall be returned.
  253. */
  254. GetAccessProfiles(request *GetAccessProfiles) (*GetAccessProfilesResponse, error)
  255. GetAccessProfilesContext(ctx context.Context, request *GetAccessProfiles) (*GetAccessProfilesResponse, error)
  256. /*
  257. This operation requests a list of all of access profile items provided by the device.
  258. A call to this method shall return a StartReference when not all data is returned and more data is
  259. available. The reference shall be valid for retrieving the next set of data.
  260. The number of items returned shall not be greater than the Limit parameter.
  261. */
  262. GetAccessProfileList(request *GetAccessProfileList) (*GetAccessProfileListResponse, error)
  263. GetAccessProfileListContext(ctx context.Context, request *GetAccessProfileList) (*GetAccessProfileListResponse, error)
  264. /*
  265. This operation creates the specified access profile in the device. The token field of the access profile shall be
  266. empty, the service shall allocate a token for the access profile. The allocated token shall be returned
  267. in the response. If the client sends any value in the token field, the device shall return InvalidArgVal
  268. as generic fault code.
  269. In an access profile, if several access policies specifying different schedules for the same access
  270. point will result in a union of the schedules.
  271. */
  272. CreateAccessProfile(request *CreateAccessProfile) (*CreateAccessProfileResponse, error)
  273. CreateAccessProfileContext(ctx context.Context, request *CreateAccessProfile) (*CreateAccessProfileResponse, error)
  274. /*
  275. This operation will modify the access profile for the specified access profile token. The token of the
  276. access profile to modify is specified in the token field of the AccessProile structure and shall not
  277. be empty. All other fields in the structure shall overwrite the fields in the specified access profile.
  278. If several access policies specifying different schedules for the same access point will result in a
  279. union of the schedules.
  280. If the device could not store the access profile information then a fault will be generated.
  281. */
  282. ModifyAccessProfile(request *ModifyAccessProfile) (*ModifyAccessProfileResponse, error)
  283. ModifyAccessProfileContext(ctx context.Context, request *ModifyAccessProfile) (*ModifyAccessProfileResponse, error)
  284. /*
  285. This operation will synchronize an access profile in a client with the device.
  286. If an access profile with the specified token does not exist in the device, the access profile is
  287. created. If an access profile with the specified token exists, then the access profile is modified.
  288. A call to this method takes an access profile structure as input parameter. The token field of the
  289. access profile must not be empty.
  290. A device that signals support for the ClientSuppliedTokenSupported capability shall implement this command.
  291. */
  292. SetAccessProfile(request *SetAccessProfile) (*SetAccessProfileResponse, error)
  293. SetAccessProfileContext(ctx context.Context, request *SetAccessProfile) (*SetAccessProfileResponse, error)
  294. /*
  295. This operation will delete the specified access profile.
  296. If the access profile is deleted, all access policies associated to the access profile will also be
  297. deleted.
  298. If it is associated with one or more entities some devices may not be able to delete the access profile,
  299. and consequently a ReferenceInUse fault shall be generated.
  300. */
  301. DeleteAccessProfile(request *DeleteAccessProfile) (*DeleteAccessProfileResponse, error)
  302. DeleteAccessProfileContext(ctx context.Context, request *DeleteAccessProfile) (*DeleteAccessProfileResponse, error)
  303. }
  304. // accessRulesPort type
  305. type accessRulesPort struct {
  306. client *soap.Client
  307. xaddr string
  308. }
  309. func NewAccessRulesPort(client *soap.Client, xaddr string) AccessRulesPort {
  310. return &accessRulesPort{
  311. client: client,
  312. xaddr: xaddr,
  313. }
  314. }
  315. func (service *accessRulesPort) GetServiceCapabilitiesContext(ctx context.Context, request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error) {
  316. response := new(GetServiceCapabilitiesResponse)
  317. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/accessrules/wsdl/GetServiceCapabilities", request, response)
  318. if err != nil {
  319. return nil, err
  320. }
  321. return response, nil
  322. }
  323. func (service *accessRulesPort) GetServiceCapabilities(request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error) {
  324. return service.GetServiceCapabilitiesContext(
  325. context.Background(),
  326. request,
  327. )
  328. }
  329. func (service *accessRulesPort) GetAccessProfileInfoContext(ctx context.Context, request *GetAccessProfileInfo) (*GetAccessProfileInfoResponse, error) {
  330. response := new(GetAccessProfileInfoResponse)
  331. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/accessrules/wsdl/GetAccessProfileInfo", request, response)
  332. if err != nil {
  333. return nil, err
  334. }
  335. return response, nil
  336. }
  337. func (service *accessRulesPort) GetAccessProfileInfo(request *GetAccessProfileInfo) (*GetAccessProfileInfoResponse, error) {
  338. return service.GetAccessProfileInfoContext(
  339. context.Background(),
  340. request,
  341. )
  342. }
  343. func (service *accessRulesPort) GetAccessProfileInfoListContext(ctx context.Context, request *GetAccessProfileInfoList) (*GetAccessProfileInfoListResponse, error) {
  344. response := new(GetAccessProfileInfoListResponse)
  345. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/accessrules/wsdl/GetAccessProfileInfoList", request, response)
  346. if err != nil {
  347. return nil, err
  348. }
  349. return response, nil
  350. }
  351. func (service *accessRulesPort) GetAccessProfileInfoList(request *GetAccessProfileInfoList) (*GetAccessProfileInfoListResponse, error) {
  352. return service.GetAccessProfileInfoListContext(
  353. context.Background(),
  354. request,
  355. )
  356. }
  357. func (service *accessRulesPort) GetAccessProfilesContext(ctx context.Context, request *GetAccessProfiles) (*GetAccessProfilesResponse, error) {
  358. response := new(GetAccessProfilesResponse)
  359. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/accessrules/wsdl/GetAccessProfiles", request, response)
  360. if err != nil {
  361. return nil, err
  362. }
  363. return response, nil
  364. }
  365. func (service *accessRulesPort) GetAccessProfiles(request *GetAccessProfiles) (*GetAccessProfilesResponse, error) {
  366. return service.GetAccessProfilesContext(
  367. context.Background(),
  368. request,
  369. )
  370. }
  371. func (service *accessRulesPort) GetAccessProfileListContext(ctx context.Context, request *GetAccessProfileList) (*GetAccessProfileListResponse, error) {
  372. response := new(GetAccessProfileListResponse)
  373. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/accessrules/wsdl/GetAccessProfileList", request, response)
  374. if err != nil {
  375. return nil, err
  376. }
  377. return response, nil
  378. }
  379. func (service *accessRulesPort) GetAccessProfileList(request *GetAccessProfileList) (*GetAccessProfileListResponse, error) {
  380. return service.GetAccessProfileListContext(
  381. context.Background(),
  382. request,
  383. )
  384. }
  385. func (service *accessRulesPort) CreateAccessProfileContext(ctx context.Context, request *CreateAccessProfile) (*CreateAccessProfileResponse, error) {
  386. response := new(CreateAccessProfileResponse)
  387. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/accessrules/wsdl/CreateAccessProfile", request, response)
  388. if err != nil {
  389. return nil, err
  390. }
  391. return response, nil
  392. }
  393. func (service *accessRulesPort) CreateAccessProfile(request *CreateAccessProfile) (*CreateAccessProfileResponse, error) {
  394. return service.CreateAccessProfileContext(
  395. context.Background(),
  396. request,
  397. )
  398. }
  399. func (service *accessRulesPort) ModifyAccessProfileContext(ctx context.Context, request *ModifyAccessProfile) (*ModifyAccessProfileResponse, error) {
  400. response := new(ModifyAccessProfileResponse)
  401. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/accessrules/wsdl/ModifyAccessProfile", request, response)
  402. if err != nil {
  403. return nil, err
  404. }
  405. return response, nil
  406. }
  407. func (service *accessRulesPort) ModifyAccessProfile(request *ModifyAccessProfile) (*ModifyAccessProfileResponse, error) {
  408. return service.ModifyAccessProfileContext(
  409. context.Background(),
  410. request,
  411. )
  412. }
  413. func (service *accessRulesPort) SetAccessProfileContext(ctx context.Context, request *SetAccessProfile) (*SetAccessProfileResponse, error) {
  414. response := new(SetAccessProfileResponse)
  415. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/accessrules/wsdl/SetAccessProfile", request, response)
  416. if err != nil {
  417. return nil, err
  418. }
  419. return response, nil
  420. }
  421. func (service *accessRulesPort) SetAccessProfile(request *SetAccessProfile) (*SetAccessProfileResponse, error) {
  422. return service.SetAccessProfileContext(
  423. context.Background(),
  424. request,
  425. )
  426. }
  427. func (service *accessRulesPort) DeleteAccessProfileContext(ctx context.Context, request *DeleteAccessProfile) (*DeleteAccessProfileResponse, error) {
  428. response := new(DeleteAccessProfileResponse)
  429. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/accessrules/wsdl/DeleteAccessProfile", request, response)
  430. if err != nil {
  431. return nil, err
  432. }
  433. return response, nil
  434. }
  435. func (service *accessRulesPort) DeleteAccessProfile(request *DeleteAccessProfile) (*DeleteAccessProfileResponse, error) {
  436. return service.DeleteAccessProfileContext(
  437. context.Background(),
  438. request,
  439. )
  440. }
  441. // QName type
  442. type QName string