CreateInstanceΒΆ

#!/usr/bin/python
#
# This example is based upon openlmi-account provider and adds a user account
# to the given group on managed system.
#
# To make this example work, modify following variables:
#   hostname
#   username
#   password
#   account
#   group

import lmiwbem

hostname = "hostname"
username = "username"
password = "password"
account  = "account"
group    = "group"

# Connect to CIMOM
conn = lmiwbem.WBEMConnection()
conn.connect(hostname, username, password)

# Create LMI_Account instance name
account_iname = lmiwbem.CIMInstanceName(
    "LMI_Account",
    lmiwbem.NocaseDict({
        "CreationClassName" : "LMI_Account",
        "Name" : account,
        "SystemCreationClassName" : "PG_ComputerSystem",
        "SystemName" : hostname}),
    hostname,
    "root/cimv2")

# Get account LMI_Identity association
identity_iname = conn.AssociatorNames(
    account_iname,
    ResultClass="LMI_Identity")[0]

# Create LMI_Group instance name
group_iname = lmiwbem.CIMInstanceName(
    "LMI_Group",
    lmiwbem.NocaseDict({
        "CreationClassName" : "LMI_Group",
        "Name" : group}),
    hostname,
    "root/cimv2")

# Prepare LMI_MemberOfGroup instance
member_of_group = lmiwbem.CIMInstance(
    "LMI_MemberOfGroup",
    lmiwbem.NocaseDict({
        "Member" : identity_iname,
        "Collection" : group_iname}),
    # No qualifiers
    None,
    lmiwbem.CIMInstanceName(
        "LMI_MemberOfGroup",
        # No keybindings; Member and Collection are not key properties in
        # LMI_MemberOfGroup
        None,
        hostname,
        "root/cimv2"))

# Create new instance of LMI_MemberOfGroup
new_iname = conn.CreateInstance(member_of_group)

# Do something with new CIMInstanceName
print new_iname

# Disconnect from CIMOM
conn.disconnect()

Previous topic

Associators

Next topic

DeleteInstance

This Page