iib_config
Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >=4.0.0 < 9.0.0
- , , , , , , , , ,
Tasks:
- server
- deployment
- broker
Start using this module
Add this module to your Puppetfile:
mod 'enterprisemodules-iib_config', '1.6.0'
Learn more about managing modules with a PuppetfileDocumentation
Table of Contents
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
Overview
This module allows you to configure IBM Integration Bus (IIB) software. It is part of our family of Puppet modules to install and manage IBM messaging middleware. Besides the iib_config
module, this family also contains:
mq_install
to install the MQ software.mq_config
to configure and manage the MQ softwareiib_install
to install the IBM Integration Bus software
License
This is a commercially licensed module. But you can use the module on VirtualBox based development systems for FREE. When used on real systems a license is required.
You can license our modules in multiple ways. Our basic licensing model requires a subscription per node. But contact us for details.
Check the License for details.
Description
Our iib_config
module allows you to configure and manage almost everything you'd want to manage on of an IBM Integration Bus installations. The module allows you to manage:
- iib_broker (or node)
- iib_deployment
- iib_instance
- iib_server
- iib_propery (Manages every kind of propert on a Broker or a Server)
Here is example puppet code to manage a IIB server:
iib_server { 'iib8/NODE1/server_2':
ensure => 'present',
callable_flow_manager_delay_reply_until_flow_commit => 'false',
callable_flow_manager_disable_remote_input_registration => 'false',
callable_flow_manager_redeploy_message_timeout => '5',
callable_flow_manager_remote_retry_timeout => '60',
callable_flow_manager_retry_local_during_deploy => 'true',
callable_flow_manager_retry_remote_until_timeout => 'true',
callable_flow_manager_vrmf_introduced_at => '10.0.0.4',
connectors_shared_idle_timeout => '60',
execution_group_http_nodes_embedded_listener => 'false',
execution_group_injection_mode => 'Disabled',
execution_group_soap_nodes_embedded_listener => 'true',
execution_group_trace_filter => 'none',
execution_group_trace_level => 'none',
execution_group_user_trace_filter => 'none',
http_connector_cors_enabled => 'false',
http_connector_max_keep_alive_requests => '0',
http_connector_port => '7801',
http_connector_tcp_no_delay => 'true',
http_connector_user_trace_level => 'none',
https_connector_cors_enabled => 'false',
https_connector_max_keep_alive_requests => '0',
https_connector_port => '0',
https_connector_tcp_no_delay => 'true',
https_connector_user_trace_level => 'none',
rest_resource_stats_reporting_on => 'inactive',
status => 'running',
}
Check here to see the full documentation for this module.
Setup
Requirements
The iib_config
module requires:
- Puppet module
enterprisemodules-easy_type
installed. - Puppet version 4.9 or higher. Can be Puppet Enterprise or Puppet Open Source
- IBM IIB 10 installation. All fixpacks supported.
- A valid License from IBM to use this software.
- A valid entitlement by Enterprise Modules to use this module.
- Runs on most Linux systems.
- Windows systems are NOT supported
Installing the iib_config module
To install these modules, you can use a Puppetfile
mod 'enterprisemodules/iib_config' ,'1.0.x'
Then use the librarian-puppet
or r10K
to install the software.
You can also install the software using the puppet module
command:
puppet module install enterprisemodules-iib_config
Usage
Building a total IIB setup requires quite some work. To help you, we have built some examples:
Thes repos contain examples of how you can install and configure a basic IIB setup.
Reference
Here you can find some more information regarding this puppet module:
Here is a related blog posts:
Some example code:
Limitations
This module runs most Linux versions. It requires a puppet version higher than 4. The module does NOT run on windows systems. Contact us of you need to run this module on other flavors of UNIX. We can work together with you to make it work.
Reference
Table of Contents
Resource types
iib_broker
: This resource allows you to manage broker in an IBM IIB realm. Here is an example on how you should use this: iib_broker { 'IIB107/IB10iib_credential
: This resource allows you to manage dbparams (e.g. credentials) in IBM IIB realm. Here is an example on how you should use this: iib_creiib_deployment
: This resource allows you to manage process of deployment of IBM IIB. Here is an example on how you should use this: iib_deployment { 'Iiib_instance
: This is custom resource which allows you to manage server and broker under specified account in an IBM IIB realm. Here is an example on howiib_property
: This resource allows you to manage brokers and servers in an IBM IIB realm. This type can be used to constructmqsichangebroker
or `mqsichiib_security_profile
: This resource allows you to manage Security Profile of node (broker) in an IBM IIB realm. Here is an example on how you should use this:iib_server
: This resource allows you to manage server in an IBM IIB realm. Here is an example on how you should use this: iib_server { 'IIB107/IB10
Tasks
broker
: Allows get the status, create or remove an IIB Brokerdeployment
: Allows get the status, create or remove an IIB deploymentserver
: Allows get the status, create or remove an IIB Server (executiongroup)
Resource types
iib_broker
This resource allows you to manage broker in an IBM IIB realm.
Here is an example on how you should use this:
iib_broker { 'IIB107/IB10NODE1':
ensure => 'present',
status => 'running',
}
In this example you are ensuring that broker is running. If the server is stopped the resource starts broker, if broker is absent then new is created.
Valid managable global node component names:
- userLilPath
- configurationChangeTimeout
- internalConfigurationTimeout
- httpListenerPort
- statisticsMajorInterval
- ldapPrincipal
- ldapCredentials
- ICU converter path
- userExitPath
- activeUserExits
- function level
- security_status
- cachePolicy
- cachePortRange
- integrationRegistryHostname
Properties
The following properties are available in the iib_broker
type.
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
Parameters
The following parameters are available in the iib_broker
type.
provider
The specific backend to use for this iib_broker
resource. You will seldom need to specify this --- Puppet will usually
discover the appropriate provider for your platform.
iib_credential
This resource allows you to manage dbparams (e.g. credentials) in IBM IIB realm.
Here is an example on how you should use this:
iib_credential { 'IIB107/ldap::myad.example.com':
ensure => 'present',
username => 'myusername',
password => 'extremlysecret',
}
Properties
The following properties are available in the iib_credential
type.
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
Parameters
The following parameters are available in the iib_credential
type.
provider
The specific backend to use for this iib_credential
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
iib_deployment
This resource allows you to manage process of deployment of IBM IIB.
Here is an example on how you should use this:
iib_deployment { 'IIB107/IB10NODE1/server_2/Hello':
ensure => 'present',
source => '/tmp/Helloproject.TestMode.bar',
}
In this example you are ensuring that deployment is done from provided source.
Properties
The following properties are available in the iib_deployment
type.
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
Parameters
The following parameters are available in the iib_deployment
type.
provider
The specific backend to use for this iib_deployment
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
iib_instance
This is custom resource which allows you to manage server and broker under specified account in an IBM IIB realm.
Here is an example on how you should use this:
iib_instance { 'IIB107NewInstance':
ensure => 'present',
home_directory => '/opt/ibm/mqsi/iib-10.0.0.7',
os_user => 'iibadmin',
}
In this example you are ensuring that instance is present. If the instance is absent the resource creates new istance with specifed user and directory.
Properties
The following properties are available in the iib_instance
type.
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
Parameters
The following parameters are available in the iib_instance
type.
provider
The specific backend to use for this iib_instance
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
iib_property
This resource allows you to manage brokers and servers in an IBM IIB realm.
This type can be used to construct mqsichangebroker
or mqsichangeproperties
commands for you setup. This type is a fallback for when the property is not
(yet) support on iib_broker
or iib_server
. Use this type with care.
Here is an example on how to write manifest for global node component value changing:
iib_property {'set_node_cache_policy':
scope => 'iib8/NODE1',
component => 'cachePolicy',
restart => true,
set_value => 'none'
}
Valid global node component names:
- userLilPath
- configurationChangeTimeout
- internalConfigurationTimeout
- httpListenerPort
- statisticsMajorInterval
- ldapPrincipal
- ldapCredentials
- ICU converter path
- userExitPath
- activeUserExits
- function level
- security_status
- cachePolicy
- cachePortRange
- integrationRegistryHostname
Here is an example on how to write manifest for node component that takes objectName:
iib_property {'set_node_cache_policy':
scope => 'iib8/NODE1',
component => 'webadmins',
object_name => 'HTTPConnector',
object_property => 'compression',
restart => false,
set_value => 'on'
}
Make sure that selected node is running before applying manifest.
Valid node component names that take objectName:
- httplistener
- securitycache
- cachemanager
- webadmin
- crlFile
Here is an example on how to write manifest for server property changing:
iib_property {'set_server_accept_count_to_200':
scope => 'iib8/NODE1/server_1',
component => 'HTTPConnector',
object_name => 'acceptCount',
restart => false,
set_value => '200'
}
Parameters
The following parameters are available in the iib_property
type.
provider
The specific backend to use for this iib_property
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
iib_security_profile
This resource allows you to manage Security Profile of node (broker) in an IBM IIB realm.
Here is an example on how you should use this:
iib_security_profile { '10.0.0.6/NODE/SECURITY_NAME':
ensure => 'present',
authentication => 'NONE',
authorization => 'NONE',
id_to_propagate_to_transport => 'Message ID',
keystore => 'Reserved for future use',
mapping => 'NONE',
password_value => 'PLAIN',
propagation => true,
reject_blank_password => false,
trust_store => 'Reserved for future use',
}
Properties
The following properties are available in the iib_security_profile
type.
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
Parameters
The following parameters are available in the iib_security_profile
type.
provider
The specific backend to use for this iib_security_profile
resource. You will seldom need to specify this --- Puppet
will usually discover the appropriate provider for your platform.
iib_server
This resource allows you to manage server in an IBM IIB realm.
Here is an example on how you should use this:
iib_server { 'IIB107/IB10NODE1/server_1':
ensure => 'present',
status => 'running',
}
In this example you are ensuring that server is running. If the server is stopped the resource starts server, if absent the new server is created.
Properties
The following properties are available in the iib_server
type.
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
Parameters
The following parameters are available in the iib_server
type.
provider
The specific backend to use for this iib_server
resource. You will seldom need to specify this --- Puppet will usually
discover the appropriate provider for your platform.
Tasks
broker
Allows get the status, create or remove an IIB Broker
Supports noop? false
Parameters
action
Data type: Optional[Enum['list', 'status','create','remove']]
The action you want to execute
broker_name
Data type: Optional[String[1]]
The name of the IIB Broker to use.
properties
Data type: Optional[Hash]
The properties to use when create a IIB Broker
deployment
Allows get the status, create or remove an IIB deployment
Supports noop? false
Parameters
action
Data type: Optional[Enum['list', 'status','create','remove']]
The action you want to execute
depoyment_name
Data type: Optional[String[1]]
The name of the IIB deployment to use.
properties
Data type: Optional[Hash]
The properties to use when create a IIB deployment
server
Allows get the status, create or remove an IIB Server (executiongroup)
Supports noop? false
Parameters
action
Data type: Optional[Enum['list', 'status','create','remove']]
The action you want to execute
server_name
Data type: Optional[String[1]]
The name of the IIB Server to use.
properties
Data type: Optional[Hash]
The properties to use when create a IIB Server
What are tasks?
Modules can contain tasks that take action outside of a desired state managed by Puppet. It’s perfect for troubleshooting or deploying one-off changes, distributing scripts to run across your infrastructure, or automating changes that need to happen in a particular order as part of an application deployment.
Tasks in this module release
History
20-06-2023 Version 1.6.0
- [core] Add support for Puppet 8 and Ruby 3.2
18-03-2022 Version 1.5.0
- [release] Add support for AlmaLinux and Rocky
- [release] Add RHEL8 support to the metadata
- [release] Fixup released files
22-12-2020 Version 1.4.0
- [release] Add support for Puppet 7 to metadata
- [iib_home] Fix ‘resolved to an invalid value’ error
- [core] Fix data types for array type properties
- [iib_broker] Fix puppet 6 issue with symbols and strings
- [docs] Update the documentation
28-12-2018 Version 1.3.0
- [ace] Fix ace check in iib_server (#72)
- [test] Acceptance node switch to version 10 (#71)
- [ace] Fix property mapping
- [ace] Update property mapping
- [ace] Fix for server path not appearing
- [ace] Add recursive lookup and set for yaml
- [ace] Add management of properties
- [iib_broker] Fix http connector lookups
- [iib_broker] Add http_connector_enable_lookups
- [core] Fix Puppet 6 compatibility. Compare with symbols
28-12-2018 Version 1.2.0
- [relase] change easy_type version requirement
- [core] include support for resource_api
14-11-2018 Version 1.1.0
- [iib_security_profile] Add old Ruby compatibility
- [iib_broker] Fix removal when broker is stopped
- [iib_security_profile] Add boolean property support
- [iib_broker] Add port validation for http_listener_https_connector_port
- [iib_broker] Add http_listener_https_connector_port
- [iib_security_profile] Multiple ways of escaping properties
- [broker] Change keystore propeties naming
- [broker] Add keystore and truststore management
- [core] Fix issue when property is not in the output
- [iib_credential] Initial implementation
- [acceptance] Use puppet 6 for acceptance tests
- [core] Add Puppet 6 unit tests
- [iib_property] Fix setting values with comma’s
14-04-2018 Version 1.0.10
- [iib_property] Add support for string value that need to be quoted when passed to IIB
- [development] Update gems. Pin mocha to 1.3.0 for now because of a bug.
- [test] Update tested Puppet versions
- [sync] Update configuration files using module sync
- [sync] Update rubocop setup
09-02-2018 Version 1.0.9
- [tasks] Add Puppet tasks for basic resources
- [release] Fix link to license in readme
26-01-2018 Version 1.0.8
- [release] Add license notice, license text and readme
24-01-2018 Version 1.0.7
- [iib_server] Fix http_connector_port & https_connector_port
23-01-2018 Version 1.0.6
- [iib_server] Fix http_port_connector property
- [release] Add secure files
06-11-2017 Version 1.0.5
- [core] Don’t cd to current_working directory when executing cmd
06-09-2017 Version 1.0.4
- [core] Update dependency for easy_type
- [docs] Change wording for properties
14-06-2017 Version 1.0.3
- [iib_broker] Make default for function_level all. Closes #41
24-05-2017 Version 1.0.2
- [iib_server] Fix invalid characters
- [docs] Change minor descriptions in documentation
- [spec] Refactor shared broker property acceptance spec
- [spec] Refactor global broker property acceptance spec
- [spec] Update vagrant acceptance box name and change acceptance spec
- [iib_broker] Fix global property compoenent modifier setting
- [iib_broker] Fix broker autostart mechanism
- [iib_broker] Add the broker proper starting
- [iib_property] Change on_modify
- [iib_property] Change on_prefetch
- [iib_node] Add regexp component dict
- [iib_property] Add parsing value for iib_server prefetch
- [core] Update gemfile
- [unit] Fix tests to latest code
- [iib_property] Fix whitespace and comments
- [core] Require version 2.2.9 of easy_type
- [iib_property] fix inner workings Always fetch the current value
- [iib_broker] Add support for direct removal add property function_level
- [iib_broker] Fix helpl texts for global properties
- [iib_broker] Fix global property with restart
- [iib_broker] Fix service_federation_scmp_enabled propery
19-05-2017 Version 1.0.1
- [iib_node] Add default broker start
- [iib_node] Add on_create support for global properties
- [iib_node] Add type checking for restart property
- [iib_node] Add restart parameter
- [iib_node] Add httplistener properties
- [iib_node] Add manageable http_listener_enable_ssl_connector shared property
- [iib_node] Add running broker check for shared property
- [iib_node] Add first shared server property mapping
- [iib_node] Rename broker properties for consistency
- [iib_node] Rename property type to server properties
- [iib_node] Rename broker_property to global_broker_property
- [iib_node] Add shared property output
- [iib_node] Add type checking and update documentation
- [docs] Update broker documentation with manageable properties
- [iib_node] Cover global property listing for selected node
- [iib_node] Add first property listing for selected node
- [core] Fix PE compatibility
- [docs] Update iib_property documentation
- [iib_property] Add global and with objectName property setting for node
- [docs] Update iib_property docs
- [iib_property] Add node property management
13-05-2017 Version 1.0.0
- Initial release
21-03-2017 Version 0.0.1
- Initial version
Dependencies
- enterprisemodules/easy_type (>= 2.9.2 < 3.0.0)
Enterprise Modules License d.d. January 2018 This license (“License”) governs the terms and conditions under which iib_config module (“the Software”) is licensed by Enterprise Modules B.V, a limited liability company in the Netherlands, registered in the Dutch Chamber of Commerce: 63689537 (“Licensor”), to the user of the Software (“Licensee”). Article 1. Grant of license 1.1 Licensor hereby grants to Licensee the right to use the Software for its internal business purposes. 1.2 The license granted in the previous paragraph is limited to the use on VirtualBox Virtual machines. For further use a commercial license must be directly obtained from Licensor. Article 2. License limitations 2.1 All right, title and interest to the Software, the accompanying documentation and all modifications and extensions thereto rest and remain with Licensor. Licensee only has the rights and permissions explicitly granted by this License or granted in writing otherwise. Licensee shall not use, copy, modify, distribute or publish the Software in any other manner. Nothing in this License is intended to, and shall not be construed to, transfer to Licensee any rights in intellectual property developed by Licensor. 2.2 In particular, Licensee shall not: a) provide copies of the Software to third parties, including to entities controlling, controlled by or under common control with Licensee; b) sublicense the Software or otherwise make available the Software to such third parties, including by rental, Software-as-a-Service models or otherwise; c) remove indications of Licensor as copyright holder of the Software or to remove or render illegible any part thereof. 2.3 The Software comprises third-party open source software. The respective third-party rights holders grant Licensee the rights indicated in the applicable open source licenses. These licenses can be found in the documentation. The License does not apply to this open source software, and nothing in this License shall be construed as a limitation of any right granted under an open source license. Article 3. Trademark 3.1 This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Software. Article 4. Limitation of Liability 4.1 Licensor provides the Software on an "AS IS" basis, and expressly disclaims all conditions, representations or warranties, express or implied, including without limitation any implied warranties of merchantability, fitness for a particular purpose, and non-infringement of third party rights regarding the Software. Licensor is solely responsible for determining the appropriateness of using the Software and assume any risks associated arising out of or in connection with the Software and this License. 4.2 Licensor shall not be liable for any damages, including consequential, special, punitive and/or incidental damages or fines imposed by regulatory bodies, arising out of or in connection with the Software and this License. 4.3 Licensee shall release, defend, indemnify and hold harmless Licensor from and against any and all claims, damages and liability arising in connection with the Software, including from claims, damages or liability from customers of Licensee. Article 5. Miscellaneous 5.1 Licensor reserves the right to change any or all parts of this License without prior notice. 5.2 The law of the Netherlands governs this License and the terms and conditions therein. 5.3 Any disputes arising between Licensor and Licensee in connection with the License will be settled by the competent courts in the Netherlands for the principal place of business of the Licensor.