-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathip_pool_example.py
96 lines (77 loc) · 3.84 KB
/
ip_pool_example.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import logging
from intersight.model.ippool_ip_v4_block import IppoolIpV4Block
from intersight.model.ippool_ip_v4_config import IppoolIpV4Config
from intersight.model.organization_organization_relationship import OrganizationOrganizationRelationship
from intersight.api import organization_api
from intersight.api import ippool_api
from intersight.model.ippool_pool import IppoolPool
import intersight
import credentials
def create_ippool_ip_v4_block():
ippool_ip_v4_block = IppoolIpV4Block(_from="172.28.224.32",
size=40,
object_type="ippool.IpV4Block",
class_id="ippool.IpV4Block",
)
return ippool_ip_v4_block
def create_ippool_ip_v4_config():
ippool_ip_v4_config = IppoolIpV4Config(gateway="172.28.224.1",
netmask="255.255.254.0",
primary_dns="171.70.168.183",
object_type="ippool.IpV4Config",
class_id="ippool.IpV4Config",
)
return ippool_ip_v4_config
def get_organization_organization_relationship(api_client):
organization_instance = organization_api.OrganizationApi(api_client)
api_response = organization_instance.get_organization_organization_list(filter="Name eq 'dsoper-DevNet'")
organization_organization = OrganizationOrganizationRelationship(moid=api_response.results[0].moid,
object_type="organization.Organization",
class_id="mo.MoRef",
)
return organization_organization
# Getting ippool_pool using filter
def get_ippool_pool(api_client, filter_):
# Creating the ippool api instance.
ippool_pool_instance = ippool_api.IppoolApi(api_client)
try:
# Create a ippool.Pool resource
api_response = ippool_pool_instance.get_ippool_pool_list(filter=filter_)
logger.debug(api_response)
return api_response
except intersight.ApiException as e:
logger.error("Exception when calling IppoolApi-> get_ippool_pool_list: %s\n" % e)
exit(1)
# Creating ippool_pool
def create_ippool_pool1(api_client):
# Creating the ippool api instance.
ippool_pool_instance = ippool_api.IppoolApi(api_client)
# Creation of ippool_pool model instance.
ippool_pool = IppoolPool()
# Setting all the attributes for ippool_pool model instance.
ippool_pool.assignment_order = "default"
ippool_pool1 = create_ippool_ip_v4_block()
ippool_pool.ip_v4_blocks = [ippool_pool1,
]
ippool_pool.ip_v4_config = create_ippool_ip_v4_config()
# ippool_pool.ip_v6_blocks = []
ippool_pool.name = "TME-SJC07-IPs"
ippool_pool.organization = get_organization_organization_relationship(api_client)
try:
# Create a ippool.Pool resource
api_response = ippool_pool_instance.create_ippool_pool(ippool_pool)
logger.debug(api_response)
return api_response
except intersight.ApiException as e:
logger.error("Exception when calling IppoolApi-> create_ippool_pool: %s\n" % e)
exit(1)
if __name__ == "__main__":
client = credentials.config_credentials()
FORMAT = '%(asctime)-15s [%(levelname)s] [%(filename)s:%(lineno)s] %(message)s'
LOGGING_LEVEL = logging.INFO
logging.basicConfig(format=FORMAT, level=LOGGING_LEVEL)
logger = logging.getLogger()
# Creating ippool_pool
logger.info("Creating the ippool_pool.")
ippool_pool1 = create_ippool_pool1(client)
logger.info("ippool_pool is created successfully.")