huaweicloud-sdk-python-v3/huaweicloud-sdk-mrs/huaweicloudsdkmrs/v1/model/bootstrap_script.py

376 lines
16 KiB
Python
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding: utf-8
import re
import six
from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
class BootstrapScript:
"""
Attributes:
openapi_types (dict): The key is attribute name
and the value is attribute type.
attribute_map (dict): The key is attribute name
and the value is json key in definition.
"""
sensitive_list = []
openapi_types = {
'name': 'str',
'uri': 'str',
'parameters': 'str',
'nodes': 'list[str]',
'active_master': 'bool',
'fail_action': 'str',
'before_component_start': 'bool',
'start_time': 'int',
'state': 'str',
'action_stages': 'list[str]'
}
attribute_map = {
'name': 'name',
'uri': 'uri',
'parameters': 'parameters',
'nodes': 'nodes',
'active_master': 'active_master',
'fail_action': 'fail_action',
'before_component_start': 'before_component_start',
'start_time': 'start_time',
'state': 'state',
'action_stages': 'action_stages'
}
def __init__(self, name=None, uri=None, parameters=None, nodes=None, active_master=None, fail_action=None, before_component_start=None, start_time=None, state=None, action_stages=None):
"""BootstrapScript
The model defined in huaweicloud sdk
:param name: 引导操作脚本的名称,同一个集群的引导操作脚本名称不允许相同。 只能由数字、英文字符、空格、中划线和下划线组成,且不能以空格开头。 可输入的字符串长度为164个字符。
:type name: str
:param uri: 引导操作脚本的路径。设置为OBS桶的路径或虚拟机本地的路径。 - OBS桶的路径直接手动输入脚本路径。例如输入MRS提供的公共样例脚本路径。示例s3a://bootstrap/presto/presto-install.sh其中安装dualroles时presto-install.sh脚本参数为dualroles, 安装worker时presto-install.sh脚本参数为worker。根据Presto使用习惯建议您在Active Master节点上安装dualroles在Core节点上安装worker。 - 虚拟机本地的路径:用户需要输入正确的脚本路径。脚本所在的路径必须以‘/’开头,以.sh结尾。
:type uri: str
:param parameters: 引导操作脚本参数。
:type parameters: str
:param nodes: 引导操作脚本所执行的节点类型包含master、core和task三种类型。 说明:节点类型必须为小写字母。
:type nodes: list[str]
:param active_master: 引导操作脚本是否只运行在主Master节点上。 缺省值为false表示引导操作脚本可运行在所有Master节点上。
:type active_master: bool
:param fail_action: 引导操作脚本执行失败后,是否继续执行后续脚本和创建集群。 缺省值为errorout,表示终止操作。 说明: 建议您在调试阶段设置为“继续”,无论此引导操作是否执行成功,则集群都能继续安装和启动。 枚举值: - continue继续执行后续脚本。 - errorout终止操作。
:type fail_action: str
:param before_component_start: 引导操作脚本执行的时间。目前支持“组件启动前”和“组件启动后”两种类型。 缺省值为false表示引导操作脚本在组件启动后执行。
:type before_component_start: bool
:param start_time: 单个引导操作脚本的执行时间。
:type start_time: int
:param state: 单个引导操作脚本的运行状态。 - PENDING - IN_PROGRESS - SUCCESS - FAILURE
:type state: str
:param action_stages: 选择引导操作脚本执行的时间。 - BEFORE_COMPONENT_FIRST_START: 组件首次启动后 - AFTER_COMPONENT_FIRST_START: 组件首次启动前 - BEFORE_SCALE_IN: 缩容前 - AFTER_SCALE_IN: 缩容后 - BEFORE_SCALE_OUT: 扩容前 - AFTER_SCALE_OUT: 扩容后
:type action_stages: list[str]
"""
self._name = None
self._uri = None
self._parameters = None
self._nodes = None
self._active_master = None
self._fail_action = None
self._before_component_start = None
self._start_time = None
self._state = None
self._action_stages = None
self.discriminator = None
self.name = name
self.uri = uri
if parameters is not None:
self.parameters = parameters
self.nodes = nodes
if active_master is not None:
self.active_master = active_master
self.fail_action = fail_action
if before_component_start is not None:
self.before_component_start = before_component_start
if start_time is not None:
self.start_time = start_time
if state is not None:
self.state = state
if action_stages is not None:
self.action_stages = action_stages
@property
def name(self):
"""Gets the name of this BootstrapScript.
引导操作脚本的名称,同一个集群的引导操作脚本名称不允许相同。 只能由数字、英文字符、空格、中划线和下划线组成,且不能以空格开头。 可输入的字符串长度为164个字符。
:return: The name of this BootstrapScript.
:rtype: str
"""
return self._name
@name.setter
def name(self, name):
"""Sets the name of this BootstrapScript.
引导操作脚本的名称,同一个集群的引导操作脚本名称不允许相同。 只能由数字、英文字符、空格、中划线和下划线组成,且不能以空格开头。 可输入的字符串长度为164个字符。
:param name: The name of this BootstrapScript.
:type name: str
"""
self._name = name
@property
def uri(self):
"""Gets the uri of this BootstrapScript.
引导操作脚本的路径。设置为OBS桶的路径或虚拟机本地的路径。 - OBS桶的路径直接手动输入脚本路径。例如输入MRS提供的公共样例脚本路径。示例s3a://bootstrap/presto/presto-install.sh其中安装dualroles时presto-install.sh脚本参数为dualroles, 安装worker时presto-install.sh脚本参数为worker。根据Presto使用习惯建议您在Active Master节点上安装dualroles在Core节点上安装worker。 - 虚拟机本地的路径:用户需要输入正确的脚本路径。脚本所在的路径必须以‘/’开头,以.sh结尾。
:return: The uri of this BootstrapScript.
:rtype: str
"""
return self._uri
@uri.setter
def uri(self, uri):
"""Sets the uri of this BootstrapScript.
引导操作脚本的路径。设置为OBS桶的路径或虚拟机本地的路径。 - OBS桶的路径直接手动输入脚本路径。例如输入MRS提供的公共样例脚本路径。示例s3a://bootstrap/presto/presto-install.sh其中安装dualroles时presto-install.sh脚本参数为dualroles, 安装worker时presto-install.sh脚本参数为worker。根据Presto使用习惯建议您在Active Master节点上安装dualroles在Core节点上安装worker。 - 虚拟机本地的路径:用户需要输入正确的脚本路径。脚本所在的路径必须以‘/’开头,以.sh结尾。
:param uri: The uri of this BootstrapScript.
:type uri: str
"""
self._uri = uri
@property
def parameters(self):
"""Gets the parameters of this BootstrapScript.
引导操作脚本参数。
:return: The parameters of this BootstrapScript.
:rtype: str
"""
return self._parameters
@parameters.setter
def parameters(self, parameters):
"""Sets the parameters of this BootstrapScript.
引导操作脚本参数。
:param parameters: The parameters of this BootstrapScript.
:type parameters: str
"""
self._parameters = parameters
@property
def nodes(self):
"""Gets the nodes of this BootstrapScript.
引导操作脚本所执行的节点类型包含master、core和task三种类型。 说明:节点类型必须为小写字母。
:return: The nodes of this BootstrapScript.
:rtype: list[str]
"""
return self._nodes
@nodes.setter
def nodes(self, nodes):
"""Sets the nodes of this BootstrapScript.
引导操作脚本所执行的节点类型包含master、core和task三种类型。 说明:节点类型必须为小写字母。
:param nodes: The nodes of this BootstrapScript.
:type nodes: list[str]
"""
self._nodes = nodes
@property
def active_master(self):
"""Gets the active_master of this BootstrapScript.
引导操作脚本是否只运行在主Master节点上。 缺省值为false表示引导操作脚本可运行在所有Master节点上。
:return: The active_master of this BootstrapScript.
:rtype: bool
"""
return self._active_master
@active_master.setter
def active_master(self, active_master):
"""Sets the active_master of this BootstrapScript.
引导操作脚本是否只运行在主Master节点上。 缺省值为false表示引导操作脚本可运行在所有Master节点上。
:param active_master: The active_master of this BootstrapScript.
:type active_master: bool
"""
self._active_master = active_master
@property
def fail_action(self):
"""Gets the fail_action of this BootstrapScript.
引导操作脚本执行失败后,是否继续执行后续脚本和创建集群。 缺省值为errorout,表示终止操作。 说明: 建议您在调试阶段设置为“继续”,无论此引导操作是否执行成功,则集群都能继续安装和启动。 枚举值: - continue继续执行后续脚本。 - errorout终止操作。
:return: The fail_action of this BootstrapScript.
:rtype: str
"""
return self._fail_action
@fail_action.setter
def fail_action(self, fail_action):
"""Sets the fail_action of this BootstrapScript.
引导操作脚本执行失败后,是否继续执行后续脚本和创建集群。 缺省值为errorout,表示终止操作。 说明: 建议您在调试阶段设置为“继续”,无论此引导操作是否执行成功,则集群都能继续安装和启动。 枚举值: - continue继续执行后续脚本。 - errorout终止操作。
:param fail_action: The fail_action of this BootstrapScript.
:type fail_action: str
"""
self._fail_action = fail_action
@property
def before_component_start(self):
"""Gets the before_component_start of this BootstrapScript.
引导操作脚本执行的时间。目前支持“组件启动前”和“组件启动后”两种类型。 缺省值为false表示引导操作脚本在组件启动后执行。
:return: The before_component_start of this BootstrapScript.
:rtype: bool
"""
return self._before_component_start
@before_component_start.setter
def before_component_start(self, before_component_start):
"""Sets the before_component_start of this BootstrapScript.
引导操作脚本执行的时间。目前支持“组件启动前”和“组件启动后”两种类型。 缺省值为false表示引导操作脚本在组件启动后执行。
:param before_component_start: The before_component_start of this BootstrapScript.
:type before_component_start: bool
"""
self._before_component_start = before_component_start
@property
def start_time(self):
"""Gets the start_time of this BootstrapScript.
单个引导操作脚本的执行时间。
:return: The start_time of this BootstrapScript.
:rtype: int
"""
return self._start_time
@start_time.setter
def start_time(self, start_time):
"""Sets the start_time of this BootstrapScript.
单个引导操作脚本的执行时间。
:param start_time: The start_time of this BootstrapScript.
:type start_time: int
"""
self._start_time = start_time
@property
def state(self):
"""Gets the state of this BootstrapScript.
单个引导操作脚本的运行状态。 - PENDING - IN_PROGRESS - SUCCESS - FAILURE
:return: The state of this BootstrapScript.
:rtype: str
"""
return self._state
@state.setter
def state(self, state):
"""Sets the state of this BootstrapScript.
单个引导操作脚本的运行状态。 - PENDING - IN_PROGRESS - SUCCESS - FAILURE
:param state: The state of this BootstrapScript.
:type state: str
"""
self._state = state
@property
def action_stages(self):
"""Gets the action_stages of this BootstrapScript.
选择引导操作脚本执行的时间。 - BEFORE_COMPONENT_FIRST_START: 组件首次启动后 - AFTER_COMPONENT_FIRST_START: 组件首次启动前 - BEFORE_SCALE_IN: 缩容前 - AFTER_SCALE_IN: 缩容后 - BEFORE_SCALE_OUT: 扩容前 - AFTER_SCALE_OUT: 扩容后
:return: The action_stages of this BootstrapScript.
:rtype: list[str]
"""
return self._action_stages
@action_stages.setter
def action_stages(self, action_stages):
"""Sets the action_stages of this BootstrapScript.
选择引导操作脚本执行的时间。 - BEFORE_COMPONENT_FIRST_START: 组件首次启动后 - AFTER_COMPONENT_FIRST_START: 组件首次启动前 - BEFORE_SCALE_IN: 缩容前 - AFTER_SCALE_IN: 缩容后 - BEFORE_SCALE_OUT: 扩容前 - AFTER_SCALE_OUT: 扩容后
:param action_stages: The action_stages of this BootstrapScript.
:type action_stages: list[str]
"""
self._action_stages = action_stages
def to_dict(self):
"""Returns the model properties as a dict"""
result = {}
for attr, _ in six.iteritems(self.openapi_types):
value = getattr(self, attr)
if isinstance(value, list):
result[attr] = list(map(
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
value
))
elif hasattr(value, "to_dict"):
result[attr] = value.to_dict()
elif isinstance(value, dict):
result[attr] = dict(map(
lambda item: (item[0], item[1].to_dict())
if hasattr(item[1], "to_dict") else item,
value.items()
))
else:
if attr in self.sensitive_list:
result[attr] = "****"
else:
result[attr] = value
return result
def to_str(self):
"""Returns the string representation of the model"""
import simplejson as json
if six.PY2:
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
def __repr__(self):
"""For `print`"""
return self.to_str()
def __eq__(self, other):
"""Returns true if both objects are equal"""
if not isinstance(other, BootstrapScript):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
"""Returns true if both objects are not equal"""
return not self == other