13
13
* NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
14
14
"""
15
15
16
-
17
16
__author__ = 'VMware, Inc.'
18
17
__copyright__ = 'Copyright 2017 VMware, Inc. All rights reserved.'
19
18
__vcenter_version__ = '6.0+'
22
21
import requests
23
22
24
23
from com .vmware .cis_client import Session
25
- from com .vmware .vcenter_client import Datacenter
26
24
from vmware .vapi .lib .connect import get_requests_connector
27
25
from vmware .vapi .security .session import create_session_security_context
28
26
from vmware .vapi .security .sso import create_saml_bearer_security_context
29
27
from vmware .vapi .stdlib .client .factories import StubConfigurationFactory
28
+ from com .vmware .cis .tagging_client import (Category , CategoryModel )
30
29
31
30
from samples .vsphere .common .ssl_helper import get_unverified_context
32
31
from samples .vsphere .common .vapiconnect import create_unverified_session
@@ -47,6 +46,8 @@ def __init__(self):
47
46
self .session = None
48
47
self .session_id = None
49
48
self .skip_verification = False
49
+ self .category_svc = None
50
+ self .category_id = None
50
51
51
52
def setup (self ):
52
53
self .server , self .username , self .password , _ , self .skip_verification = \
@@ -100,14 +101,31 @@ def run(self):
100
101
session_sec_ctx = create_session_security_context (self .session_id )
101
102
connector .set_security_context (session_sec_ctx )
102
103
103
- print ('\n Step 3: List available datacenters using the vAPI services' )
104
+ # Create and Delete TagCategory to Verify connection is successful
105
+ print ('\n Step 3: Creating and Deleting Tag Category...\n ' )
106
+ self .category_svc = Category (stub_config )
107
+
108
+ self .category_id = self .create_tag_category ('TestTagCat' , 'TestTagDesc' ,
109
+ CategoryModel .Cardinality .MULTIPLE )
110
+ assert self .category_id is not None
111
+ print ('Tag category created; Id: {0}\n ' .format (self .category_id ))
104
112
105
- datacenter_svc = Datacenter ( stub_config )
106
- pprint ( datacenter_svc . list () )
113
+ # Delete TagCategory
114
+ self . category_svc . delete ( self . category_id )
107
115
108
116
self .session .delete ()
109
117
print ('VAPI session disconnected successfully...' )
110
118
119
+ def create_tag_category (self , name , description , cardinality ):
120
+ """create a category. User who invokes this needs create category privilege."""
121
+ create_spec = self .category_svc .CreateSpec ()
122
+ create_spec .name = name
123
+ create_spec .description = description
124
+ create_spec .cardinality = cardinality
125
+ associableTypes = set ()
126
+ create_spec .associable_types = associableTypes
127
+ return self .category_svc .create (create_spec )
128
+
111
129
112
130
def main ():
113
131
embedded_psc_sso_workflow = EmbeddedPscSsoWorkflow ()
0 commit comments