class Bosh::Director::DeploymentPlan::ManifestValidator
Constants
- CLOUD_MANIFEST_KEYS
Public Instance Methods
validate(manifest, cloud_config)
click to toggle source
# File lib/bosh/director/deployment_plan/manifest_validator.rb, line 8 def validate(manifest, cloud_config) raise_if_has_key(manifest, 'vm_types') raise_if_has_key(manifest, 'azs') raise_if_has_key(manifest, 'disk_types') if cloud_config.nil? if manifest.has_key?('jobs') manifest['jobs'].each do |job| if job.has_key?('migrated_from') raise Bosh::Director::DeploymentInvalidProperty, "Deployment manifest instance groups contain 'migrated_from', but it can only be used with cloud-config." end end end raise_if_has_key(manifest, 'stemcells') else deployment_cloud_properties = manifest.keys & CLOUD_MANIFEST_KEYS if deployment_cloud_properties.any? raise( Bosh::Director::DeploymentInvalidProperty, "Deployment manifest should not contain cloud config properties: #{deployment_cloud_properties}" ) end end end
Private Instance Methods
raise_if_has_key(manifest, property)
click to toggle source
# File lib/bosh/director/deployment_plan/manifest_validator.rb, line 37 def raise_if_has_key(manifest, property) if manifest.has_key?(property) raise Bosh::Director::DeploymentInvalidProperty, "Deployment manifest contains '#{property}' section, but it can only be used in cloud-config." end end