Skip to main content
Version: 9 - Germknödel

File

class flow_api.file.File(select=None, cls=None, init=None, by='name', allow_normal=True, allow_deleted=False, bundle_id=<class 'flow_api.system.NotSet'>, bundle_name=<class 'flow_api.system.NotSet'>, commit_message=<class 'flow_api.system.NotSet'>, content=<class 'flow_api.system.NotSet'>, description=<class 'flow_api.system.NotSet'>, is_readonly=<class 'flow_api.system.NotSet'>, name=<class 'flow_api.system.NotSet'>, project_id=<class 'flow_api.system.NotSet'>, project_name=<class 'flow_api.system.NotSet'>, debug=False)

Base class: Resource

A file which is stored in Cloudomation Engine.

To store data in a file there are three additional arguments for the save() method available:

import flow_api

def handler(system: flow_api.System, this: flow_api.Execution, inputs: dict):
# store a text (utf8 string)
system.file('my-file.txt').save_text_content('text content')
# read as base64
assert system.file('my-file.txt').get_base64_content() == 'dGV4dCBjb250ZW50'
# store bytes data
system.file('my-file.dat').save_bytes_content(b'bytes data äöü')
# read as text (utf8 string)
assert system.file('my-file.dat').get_text_content() == 'bytes data äöü'
# store a base64 encoded string
system.file('my-file.ext').save_base64_content('Q2xvdWRvbWF0aW9u')
# read as bytes
assert system.file('my-file.ext').get_bytes_content() == b'Cloudomation'

# list files
for file_ in system.files():
this.log(file_.get('name', 'content_size_bytes'))

# clean up
system.file('my-file.txt').delete()
system.file('my-file.dat').delete()
system.file('my-file.ext').delete()

return this.success('all done')

See the corresponding Resources class at File

Parameters​

NameTypeDescription
allow_deletedbool
allow_normalbool
bundle_idtyping.Union[ flow_api.system.NotSet, str, NoneType ]Reference to the bundle this record is associated with. Allowed for BUNDLE_REPOSITORY, CONNECTOR, CUSTOM_OBJECT, DEVOLUTIONS_CONFIG, FILE, FLOW, LDAP_CONFIG, OAUTH, OBJECT_TEMPLATE, PLUGIN, ROLE, SCHEDULE, SCHEDULER, SCHEMA, SETTING, SYNC_CONFIG, TAG, VAULT_CONFIG, WEBHOOK, WRAPPER. Not allowed for BUNDLE, EXECUTION, MESSAGE, ORGANIZATION, PROCESS, PROJECT, USER, WORKSPACE. Mutually exclusive with project_id
bundle_nametyping.Union[ flow_api.system.NotSet, str, NoneType ]The name of the bundle. Will look up the bundle and set bundle_id.
bystr
clstyping.Union[ type, NoneType ]
commit_messagetyping.Union[ flow_api.system.NotSet, str, NoneType ]The commit message for this change.
contenttyping.Union[ flow_api.system.NotSet, bytes ]The binary content of the file.
debugboolif set, the content of the data being written will be logged.
descriptiontyping.Union[ flow_api.system.NotSet, str, NoneType ]A multiline description of what this record is and does.
inittyping.Union[ dict, NoneType ]
is_readonlytyping.Union[ flow_api.system.NotSet, bool ]A flag to control if the record can be modified. Allowed for BUNDLE, BUNDLE_REPOSITORY, CONNECTOR, CUSTOM_OBJECT, DEVOLUTIONS_CONFIG, FILE, FLOW, OAUTH, OBJECT_TEMPLATE, PLUGIN, PROJECT, ROLE, SCHEDULE, SCHEDULER, SCHEMA, SETTING, SYNC_CONFIG, TAG, VAULT_CONFIG, WEBHOOK, WRAPPER. Not allowed for EXECUTION, LDAP_CONFIG, MESSAGE, ORGANIZATION, PROCESS, USER, WORKSPACE
nametyping.Union[ flow_api.system.NotSet, str ]The name of this record. Must be unique across a workspace.
project_idtyping.Union[ flow_api.system.NotSet, str, NoneType ]Reference to the project this record is associated with. Allowed for CONNECTOR, CUSTOM_OBJECT, DEVOLUTIONS_CONFIG, EXECUTION, FILE, FLOW, MESSAGE, OAUTH, OBJECT_TEMPLATE, PLUGIN, SCHEDULE, SCHEDULER, SCHEMA, SETTING, SYNC_CONFIG, TAG, VAULT_CONFIG, WEBHOOK, WRAPPER. Not allowed for BUNDLE, BUNDLE_REPOSITORY, LDAP_CONFIG, ORGANIZATION, PROCESS, PROJECT, ROLE, USER, WORKSPACE. Mutually exclusive with bundle_id.
project_nametyping.Union[ flow_api.system.NotSet, str, NoneType ]The name of the project. Will look up the project and set project_id.
selecttyping.Union[ str, NoneType ]

Constants​

RESOURCE = file

Methods​

add_record_tag​

add_record_user​

add_resource_wrapper​

add_tag​

bundle​

clone​

created_by_identity​

delete​

deleted_by_identity​

exists​

export​

get​

get_base64_content​

get_bytes_content​

get_dict​

get_identity_created_by​

get_identity_deleted_by​

get_identity_modified_by​

get_json_content​

get_logs​

get_tags​

get_text_content​

get_yaml_content​

modified_by_identity​

organization​

project​

record_log_list​

record_tag_list​

record_user_list​

remove_tag​

resource_wrapper_list​

restore​

save​

save_base64_content​

save_bytes_content​

save_json_content​

save_text_content​

save_yaml_content​

workspace​