| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- /*
- Copyright (c) 2018-2023 VMware, Inc. All Rights Reserved.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
- package internal
- import (
- "github.com/vmware/govmomi/vim25/mo"
- "github.com/vmware/govmomi/vim25/types"
- )
- // VAPI REST Paths
- const (
- SessionPath = "/com/vmware/cis/session"
- CategoryPath = "/com/vmware/cis/tagging/category"
- TagPath = "/com/vmware/cis/tagging/tag"
- AssociationPath = "/com/vmware/cis/tagging/tag-association"
- LibraryPath = "/com/vmware/content/library"
- LibraryItemFileData = "/com/vmware/cis/data"
- LibraryItemPath = "/com/vmware/content/library/item"
- LibraryItemFilePath = "/com/vmware/content/library/item/file"
- LibraryItemUpdateSession = "/com/vmware/content/library/item/update-session"
- LibraryItemUpdateSessionFile = "/com/vmware/content/library/item/updatesession/file"
- LibraryItemDownloadSession = "/com/vmware/content/library/item/download-session"
- LibraryItemDownloadSessionFile = "/com/vmware/content/library/item/downloadsession/file"
- LocalLibraryPath = "/com/vmware/content/local-library"
- SubscribedLibraryPath = "/com/vmware/content/subscribed-library"
- SecurityPoliciesPath = "/api/content/security-policies"
- SubscribedLibraryItem = "/com/vmware/content/library/subscribed-item"
- Subscriptions = "/com/vmware/content/library/subscriptions"
- TrustedCertificatesPath = "/api/content/trusted-certificates"
- VCenterOVFLibraryItem = "/com/vmware/vcenter/ovf/library-item"
- VCenterVMTXLibraryItem = "/vcenter/vm-template/library-items"
- SessionCookieName = "vmware-api-session-id"
- UseHeaderAuthn = "vmware-use-header-authn"
- DebugEcho = "/vc-sim/debug/echo"
- )
- // AssociatedObject is the same structure as types.ManagedObjectReference,
- // just with a different field name (ID instead of Value).
- // In the API we use mo.Reference, this type is only used for wire transfer.
- type AssociatedObject struct {
- Type string `json:"type"`
- Value string `json:"id"`
- }
- // Reference implements mo.Reference
- func (o AssociatedObject) Reference() types.ManagedObjectReference {
- return types.ManagedObjectReference{
- Type: o.Type,
- Value: o.Value,
- }
- }
- // Association for tag-association requests.
- type Association struct {
- ObjectID *AssociatedObject `json:"object_id,omitempty"`
- }
- // NewAssociation returns an Association, converting ref to an AssociatedObject.
- func NewAssociation(ref mo.Reference) Association {
- return Association{
- ObjectID: &AssociatedObject{
- Type: ref.Reference().Type,
- Value: ref.Reference().Value,
- },
- }
- }
- type SubscriptionDestination struct {
- ID string `json:"subscription"`
- }
- type SubscriptionDestinationSpec struct {
- Subscriptions []SubscriptionDestination `json:"subscriptions,omitempty"`
- }
- type SubscriptionItemDestinationSpec struct {
- Force bool `json:"force_sync_content"`
- Subscriptions []SubscriptionDestination `json:"subscriptions,omitempty"`
- }
|