Class: Google::Apis::GenomicsV2alpha1::Action
- Inherits:
-
Object
- Object
- Google::Apis::GenomicsV2alpha1::Action
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/genomics_v2alpha1/classes.rb,
generated/google/apis/genomics_v2alpha1/representations.rb,
generated/google/apis/genomics_v2alpha1/representations.rb
Overview
Specifies a single action that runs a Docker container.
Instance Attribute Summary collapse
-
#commands ⇒ Array<String>
If specified, overrides the
CMD
specified in the container. -
#credentials ⇒ Google::Apis::GenomicsV2alpha1::Secret
Holds encrypted information that is only decrypted and stored in RAM by the worker VM when running the pipeline.
-
#entrypoint ⇒ String
If specified, overrides the
ENTRYPOINT
specified in the container. -
#environment ⇒ Hash<String,String>
The environment to pass into the container.
-
#flags ⇒ Array<String>
The set of flags to apply to this action.
-
#image_uri ⇒ String
The URI to pull the container image from.
-
#labels ⇒ Hash<String,String>
Labels to associate with the action.
-
#mounts ⇒ Array<Google::Apis::GenomicsV2alpha1::Mount>
A list of mounts to make available to the action.
-
#name ⇒ String
An optional name for the container.
-
#pid_namespace ⇒ String
The PID namespace to run the action inside.
-
#port_mappings ⇒ Hash<String,Fixnum>
A map of containers to host port mappings for this container.
-
#timeout ⇒ String
The maximum amount of time to give the action to complete.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Action
constructor
A new instance of Action.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ Action
Returns a new instance of Action
168 169 170 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 168 def initialize(**args) update!(**args) end |
Instance Attribute Details
#commands ⇒ Array<String>
If specified, overrides the CMD
specified in the container. If the
container also has an ENTRYPOINT
the values are used as entrypoint
arguments. Otherwise, they are used as a command and arguments to run
inside the container.
Corresponds to the JSON property commands
66 67 68 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 66 def commands @commands end |
#credentials ⇒ Google::Apis::GenomicsV2alpha1::Secret
Holds encrypted information that is only decrypted and stored in RAM
by the worker VM when running the pipeline.
Corresponds to the JSON property credentials
72 73 74 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 72 def credentials @credentials end |
#entrypoint ⇒ String
If specified, overrides the ENTRYPOINT
specified in the container.
Corresponds to the JSON property entrypoint
77 78 79 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 77 def entrypoint @entrypoint end |
#environment ⇒ Hash<String,String>
The environment to pass into the container. This environment is merged
with any values specified in the Pipeline
message. These values
overwrite any in the Pipeline
message.
In addition to the values passed here, a few other values are
automatically injected into the environment. These cannot be hidden or
overwritten.
GOOGLE_PIPELINE_FAILED
will be set to "1" if the pipeline failed
because an action has exited with a non-zero status (and did not have the
IGNORE_EXIT_STATUS
flag set). This can be used to determine if additional
debug or logging actions should execute.
GOOGLE_LAST_EXIT_STATUS
will be set to the exit status of the last
non-background action that executed. This can be used by workflow engine
authors to determine whether an individual action has succeeded or failed.
Corresponds to the JSON property environment
94 95 96 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 94 def environment @environment end |
#flags ⇒ Array<String>
The set of flags to apply to this action.
Corresponds to the JSON property flags
99 100 101 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 99 def flags @flags end |
#image_uri ⇒ String
The URI to pull the container image from. Note that all images referenced
by actions in the pipeline are pulled before the first action runs. If
multiple actions reference the same image, it is only pulled once,
ensuring that the same image is used for all actions in a single pipeline.
Corresponds to the JSON property imageUri
107 108 109 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 107 def image_uri @image_uri end |
#labels ⇒ Hash<String,String>
Labels to associate with the action. This field is provided to assist
workflow engine authors in identifying actions (for example, to indicate
what sort of action they perform, such as localization or debugging).
They are returned in the operation metadata, but are otherwise ignored.
Corresponds to the JSON property labels
115 116 117 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 115 def labels @labels end |
#mounts ⇒ Array<Google::Apis::GenomicsV2alpha1::Mount>
A list of mounts to make available to the action.
In addition to the values specified here, every action has a special
virtual disk mounted under /google
that contains log files and other
operational components.
/google/logs
All logs written during the pipeline execution./google/logs/output
The combined standard output and standard error of all actions run as part of the pipeline execution./google/logs/action/*/stdout
The complete contents of each individual action's standard output./google/logs/action/*/stderr
The complete contents of each individual action's standard error output.
Corresponds to the JSON property mounts
134 135 136 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 134 def mounts @mounts end |
#name ⇒ String
An optional name for the container. The container hostname will be set to
this name, making it useful for inter-container communication. The name
must contain only upper and lowercase alphanumeric characters and hypens
and cannot start with a hypen.
Corresponds to the JSON property name
142 143 144 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 142 def name @name end |
#pid_namespace ⇒ String
The PID namespace to run the action inside. If unspecified, a separate
isolated namespace is used.
Corresponds to the JSON property pidNamespace
148 149 150 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 148 def pid_namespace @pid_namespace end |
#port_mappings ⇒ Hash<String,Fixnum>
A map of containers to host port mappings for this container. If the
container already specifies exposed ports, use the
PUBLISH_EXPOSED_PORTS
flag instead.
The host port number must be less than 65536. If it is zero, an unused
random port is assigned. To determine the resulting port number, consult
the ContainerStartedEvent
in the operation metadata.
Corresponds to the JSON property portMappings
158 159 160 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 158 def port_mappings @port_mappings end |
#timeout ⇒ String
The maximum amount of time to give the action to complete. If the action
fails to complete before the timeout, it will be terminated and the exit
status will be non-zero. The pipeline will continue or terminate based
on the rules defined by the ALWAYS_RUN
and IGNORE_EXIT_STATUS
flags.
Corresponds to the JSON property timeout
166 167 168 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 166 def timeout @timeout end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
# File 'generated/google/apis/genomics_v2alpha1/classes.rb', line 173 def update!(**args) @commands = args[:commands] if args.key?(:commands) @credentials = args[:credentials] if args.key?(:credentials) @entrypoint = args[:entrypoint] if args.key?(:entrypoint) @environment = args[:environment] if args.key?(:environment) @flags = args[:flags] if args.key?(:flags) @image_uri = args[:image_uri] if args.key?(:image_uri) @labels = args[:labels] if args.key?(:labels) @mounts = args[:mounts] if args.key?(:mounts) @name = args[:name] if args.key?(:name) @pid_namespace = args[:pid_namespace] if args.key?(:pid_namespace) @port_mappings = args[:port_mappings] if args.key?(:port_mappings) @timeout = args[:timeout] if args.key?(:timeout) end |