Puppet Class: swift::constraints

Defined in:
manifests/constraints.pp

Overview

Copyright © 2022 Red Hat

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.

Class: swift::constraints

Configre the [swift-constraints] options

Parameters

max_file_size

(Optional) The largest “normal” object that can be saved in the cluster. Defaults to $facts

max_meta_name_length

(Optional) Max number of bytes in the utf8 encoding of the name portion of a metadata header. Defaults to $facts

max_meta_value_length

(Optional) Max number of bytes in the utf8 encoding of a metadata value. Defaults to $facts

max_meta_count

(Optional) Max number of metadata keys that can be store on a single account, container or object. Defaults to $facts

max_meta_overall_size

(Optional) The max number of bytes in the utf8 encoding of the metadata. Defaults to $facts

max_header_size

(Optional) Max HTTP header size for incoming requests for all swift services. Defaults to $facts

extra_header_count

(Optional) Allow additional headers in addition to max allowed metadata plus a default value of 36 for swift internally generated headers and regular http headers. Defaults to $facts

max_object_name_length

(Optional) Max number of bytes in the utf8 encoding of an object name. Defaults to $facts

container_listing_limit

(Optional) Default (and max) number of items returned for a container listing request. Defaults to $facts

account_listing_limit

(Optional) Default (and max) number of items returned for an account listing request. Defaults to $facts

max_account_name_length

(Optional) Max number of bytes in the utf8 encoding of an account name. Defaults to $facts

max_container_name_length

(Optional) Max number of bytes in the utf8 encoding of a container name. Defaults to $facts

valid_api_versions

(Optional) Allowed version strings for all REST API calls. Defaults to $facts

auto_create_account_prefix

(Optional) Prefix used for hiddne auto-created accounts. Defaults to $facts

Parameters:

  • max_file_size (Any) (defaults to: $facts['os_service_default'])
  • max_meta_name_length (Any) (defaults to: $facts['os_service_default'])
  • max_meta_value_length (Any) (defaults to: $facts['os_service_default'])
  • max_meta_count (Any) (defaults to: $facts['os_service_default'])
  • max_meta_overall_size (Any) (defaults to: $facts['os_service_default'])
  • max_header_size (Any) (defaults to: $facts['os_service_default'])
  • extra_header_count (Any) (defaults to: $facts['os_service_default'])
  • max_object_name_length (Any) (defaults to: $facts['os_service_default'])
  • container_listing_limit (Any) (defaults to: $facts['os_service_default'])
  • account_listing_limit (Any) (defaults to: $facts['os_service_default'])
  • max_account_name_length (Any) (defaults to: $facts['os_service_default'])
  • max_container_name_length (Any) (defaults to: $facts['os_service_default'])
  • valid_api_versions (Any) (defaults to: $facts['os_service_default'])
  • auto_create_account_prefix (Any) (defaults to: $facts['os_service_default'])


85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'manifests/constraints.pp', line 85

class swift::constraints(
  $max_file_size              = $facts['os_service_default'],
  $max_meta_name_length       = $facts['os_service_default'],
  $max_meta_value_length      = $facts['os_service_default'],
  $max_meta_count             = $facts['os_service_default'],
  $max_meta_overall_size      = $facts['os_service_default'],
  $max_header_size            = $facts['os_service_default'],
  $extra_header_count         = $facts['os_service_default'],
  $max_object_name_length     = $facts['os_service_default'],
  $container_listing_limit    = $facts['os_service_default'],
  $account_listing_limit      = $facts['os_service_default'],
  $max_account_name_length    = $facts['os_service_default'],
  $max_container_name_length  = $facts['os_service_default'],
  $valid_api_versions         = $facts['os_service_default'],
  $auto_create_account_prefix = $facts['os_service_default'],
) {

  include swift::deps
  include swift::params

  swift_config {
    'swift-constraints/max_file_size':              value => $max_file_size;
    'swift-constraints/max_meta_name_length':       value => $max_meta_name_length;
    'swift-constraints/max_meta_value_length':      value => $max_meta_value_length;
    'swift-constraints/max_meta_count':             value => $max_meta_count;
    'swift-constraints/max_meta_overall_size':      value => $max_meta_overall_size;
    'swift-constraints/max_header_size':            value => pick($::swift::max_header_size, $max_header_size);
    'swift-constraints/extra_header_count':         value => $extra_header_count;
    'swift-constraints/max_object_name_length':     value => $max_object_name_length;
    'swift-constraints/container_listing_limit':    value => $container_listing_limit;
    'swift-constraints/account_listing_limit':      value => $account_listing_limit;
    'swift-constraints/max_account_name_length':    value => $max_account_name_length;
    'swift-constraints/max_container_name_length':  value => $max_container_name_length;
    'swift-constraints/valid_api_versions':         value => join(any2array($valid_api_versions), ',');
    'swift-constraints/auto_create_account_prefix': value => $auto_create_account_prefix;
  }
}