76 lines
1.7 KiB
Puppet
76 lines
1.7 KiB
Puppet
# == Class: ec2api::s3
|
|
#
|
|
# Manage the EC2 S3 service and its configuration
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*s3_service_manage*]
|
|
# Grant to manage enable/disable services.
|
|
# Defaults to true
|
|
#
|
|
# [*s3_service_name*]
|
|
# The name of the EC2 S3 API service
|
|
#
|
|
# [*s3_service_enable*]
|
|
# Enable/disable S3 API service
|
|
# Defaults true
|
|
#
|
|
# [*buckets_path*]
|
|
# Path to S3 buckets
|
|
# Defaults undef
|
|
#
|
|
# [*s3_listen*]
|
|
# IP address for S3 API to listen
|
|
# Defaults '0.0.0.0'
|
|
#
|
|
# [*s3_listen_port*]
|
|
# Port used when accessing the S3 api
|
|
# Defaults 3334
|
|
#
|
|
class ec2api::s3 (
|
|
$s3_service_manage = $ec2api::params::s3_service_manage,
|
|
$s3_service_name = $ec2api::params::s3_service_name,
|
|
$s3_service_enable = $ec2api::params::s3_service_enable,
|
|
|
|
$buckets_path = $ec2api::params::buckets_path,
|
|
$s3_listen = $ec2api::params::s3_listen,
|
|
$s3_listen_port = $ec2api::params::s3_listen_port,
|
|
) inherits ec2api::params {
|
|
validate_bool($s3_service_manage)
|
|
validate_bool($s3_service_enable)
|
|
validate_string($s3_service_name)
|
|
|
|
validate_string($s3_listen)
|
|
validate_integer($s3_listen_port)
|
|
|
|
if $buckets_path {
|
|
validate_absolute_path($buckets_path)
|
|
}
|
|
|
|
ec2api_config {
|
|
'DEFAULT/buckets_path': value => $buckets_path;
|
|
'DEFAULT/s3_listen': value => $s3_listen;
|
|
'DEFAULT/s3_listen_port': value => $s3_listen_port;
|
|
}
|
|
|
|
if $s3_service_enable {
|
|
$s3_service_ensure = 'running'
|
|
} else {
|
|
$s3_service_ensure = 'stopped'
|
|
}
|
|
|
|
if $s3_service_manage {
|
|
service { 'openstack-ec2-api-s3':
|
|
ensure => $s3_service_ensure,
|
|
name => $s3_service_name,
|
|
enable => $s3_service_enable,
|
|
hasstatus => true,
|
|
hasrestart => true,
|
|
}
|
|
|
|
Ec2api_config <||> ~>
|
|
Service['openstack-ec2-api-s3']
|
|
}
|
|
|
|
}
|