File Plugin
Get the latest docs.
You are looking at documentation for an older release. Not what you want? Use the version selector on the top banner or click here.
These features are part of the utilities plugin.
Cloudify Utilities: Files Plugin
The files utility allows you to package a file with a blueprint and move it onto a managed Cloudify Compute node.
Node types:
cloudify.nodes.File
Derived From: cloudify.nodes.Root
This is node type that describes the file to transfer.
Properties:
resource_config
- a dictionary that represent the file resource.type: cloudify.datatypes.File
required: true
cloudify.datatypes.File
structure (from plugin.yaml):
cloudify.datatypes.File:
properties:
resource_path:
type: string
description: >
The path relative to the blueprint where the file is stored.
Currently this must be packaged in the blueprint. An external URI is
not valid.
required: true
file_path:
type: string
description: >
The path on the machine where the file should be saved.
required: true
owner:
type: string
description: >
The owner string, such as "centos:wheel"
required: true
mode:
type: integer
description: >
The file permissions, such as 777. Must be provided as an integer.
"0777" and 0777 are not valid. Only 777.
required: true
template_variables:
description: >
Variables to render Jinja templates.
required: false
use_sudo:
type: boolean
description: >
Whether or not to use sudo to move, rename, delete, chown, chmod,
the file.
default: false
allow_failure:
type: boolean
description: >
If the download fails, log the error and continue.
default: false
Examples:
Add a repo file to a VM:
Blueprint Node Template:
docker_yum_repo:
type: cloudify.nodes.File
properties:
resource_config:
resource_path: resources/docker.repo
file_path: /etc/yum.repos.d/docker.repo
owner: root:root
mode: 644
Note:
For file transfer to a remote host defined in the blueprint, use cloudify.relationships.contained_in
relationship (see openstack-blueprint.yaml example).
Content of resources/docker.repo:
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
See also the files plugin examples.