aem_resources
Version information
Start using this module
Add this module to your Puppetfile:
mod 'shinesolutions-aem_resources', '0.9.0'
Learn more about managing modules with a PuppetfileDocumentation
Puppet AEM Resources
A Puppet module for provisioning Adobe Experience Manager (AEM) resources.
Install
puppet module install shinesolutions-aem_resources
Or via a Puppetfile:
mod 'shinesolutions/aem_resources'
If you want to use the master version:
mod 'shinesolutions/aem_resources', :git => 'https://github.com/shinesolutions/puppet-aem-resources'
And because PUP-3386 hasn't been implemented, you have to install ruby_aem prior to using aem_resource Puppet module. nokogiri needs to be installed explicitly to version 1.6.8.1 only if you are using ruby 1.9 or 2.0 .
package { 'nokogiri':
ensure => '1.6.8.1',
provider => 'puppet_gem',
} ->
package { 'ruby_aem':
ensure => '1.0.6',
provider => 'puppet_gem',
}
Configuration
AEM username, password, protocol, host, port, and debug can be set via environment variables or a configuration file.
Environment variables have aem_
prefix, e.g. aem_username
, aem_password
, aem_protocol
, aem_host
, aem_port
, and aem_debug
.
Configuration file should be named aem.yaml
and be placed under Puppet config directory. Example config file:
---
:username: 'admin'
:password: 'admin'
:port: 'http'
:host: 'localhost'
:port: 4502
:debug: False
If a configuration property is not set, then it will use the default value set in ruby_aem.
Usage
AEM
aem_aem { 'Wait until login page is ready':
ensure => login_page_is_ready,
}
Bundle
aem_bundle { 'Stop webdav bundle':
ensure => stopped,
name => 'org.apache.sling.jcr.webdav',
}
aem_bundle { 'Start webdav bundle':
ensure => started,
name => 'org.apache.sling.jcr.webdav',
}
Config property
aem_config_property { 'Create https.enable property':
ensure => present,
name => 'org.apache.felix.https.enable',
type => 'Boolean',
value => true,
run_mode => 'author',
}
Flush agent
aem_flush_agent { 'Create flush agent':
ensure => present,
name => 'some-flush-agent',
run_mode => 'author',
title => 'Some Flush Agent Title',
description => 'Some flush agent description',
dest_base_url => 'http://somehost:8080',
log_level => 'info',
retry_delay => 60000,
force => true,
}
aem_flush_agent { 'Delete flush agent':
ensure => absent,
name => 'some-flush-agent',
run_mode => 'author',
}
Group
aem_group { 'Create staff group':
ensure => present,
name => 'staff',
path => '/home/groups/s',
}
aem_group { 'Create contractor group':
ensure => present,
name => 'contractor',
path => '/home/groups/c',
}
aem_group { 'Delete staff group':
ensure => absent,
name => 'staff',
path => '/home/groups/s',
}
Node
aem_node { 'Create http OSGI config node':
ensure => present,
name => 'org.apache.felix.http',
path => '/apps/system/config.author',
type => 'sling:OsgiConfig',
}
aem_node { 'Delete http OSGI config node':
ensure => absent,
name => 'org.apache.felix.http',
path => '/apps/system/config.author',
}
Package
aem_package { 'Install AEM6.2 hotfix 12785':
ensure => present,
name => 'cq-6.2.0-hotfix-12785',
group => 'adobe/cq620/hotfix',
version => '7.0',
path => '/tmp/',
replicate => false,
activate => true,
force => true,
}
Path
aem_path { 'Activate /etc/designs/cloudservices/':
ensure => is_activated,
name => '/etc/designs/cloudservices/',
}
Replication agent
aem_replication_agent { 'Create replication agent':
ensure => present,
name => 'some-replication-agent',
run_mode => 'author',
title => 'Some Replication Agent Title',
description => 'Some replication agent description',
dest_base_url => 'http://somehost:8080',
transport_user => 'someuser',
transport_password => 'somepass',
log_level => 'info',
retry_delay => 60000,
force => true,
}
aem_replication_agent { 'Delete replication agent':
ensure => absent,
name => 'some-replication-agent',
run_mode => 'author',
}
Repository
aem_repository { 'Block repository writes':
ensure => writes_blocked,
}
aem_repository { 'Unblock repository writes':
ensure => writes_unblocked,
}
User
aem_user { 'Create user':
ensure => present,
name => 'bob',
path => '/home/users/b',
password => 'somepassword'
}
aem_user { 'Change user password':
ensure => password_changed,
name => 'bob',
path => '/home/users/b',
old_password => 'somepassword',
new_password => 'somenewpassword'
}
aem_user { 'Delete user':
ensure => absent,
name => 'bob',
path => '/home/users/b',
}
Types in this module release
Dependencies
- puppetlabs-stdlib (>= 1.0.0)
Copyright 2016-2017 Shine Solutions 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.