unmanaged: bool = False,
preview_only: bool = False,
networks: Optional[List[str]] = None,
- extra_container_args: Optional[List[str]] = None,
- extra_entrypoint_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
+ extra_entrypoint_args: Optional[GeneralArgList] = None,
custom_configs: Optional[List[CustomConfig]] = None,
):
if config:
self.config = {k.replace(' ', '_'): v for k, v in config.items()}
- self.extra_container_args: Optional[List[str]] = extra_container_args
- self.extra_entrypoint_args: Optional[List[str]] = extra_entrypoint_args
+ self.extra_container_args: Optional[ArgumentList] = None
+ self.extra_entrypoint_args: Optional[ArgumentList] = None
+ if extra_container_args:
+ self.extra_container_args = ArgumentSpec.from_general_args(
+ extra_container_args)
+ if extra_entrypoint_args:
+ self.extra_entrypoint_args = ArgumentSpec.from_general_args(
+ extra_entrypoint_args)
self.custom_configs: Optional[List[CustomConfig]] = custom_configs
@classmethod
if self.networks:
ret['networks'] = self.networks
if self.extra_container_args:
- ret['extra_container_args'] = self.extra_container_args
+ ret['extra_container_args'] = ArgumentSpec.map_json(
+ self.extra_container_args
+ )
if self.extra_entrypoint_args:
- ret['extra_entrypoint_args'] = self.extra_entrypoint_args
+ ret['extra_entrypoint_args'] = ArgumentSpec.map_json(
+ self.extra_entrypoint_args
+ )
if self.custom_configs:
ret['custom_configs'] = [c.to_json() for c in self.custom_configs]
port: Optional[int] = None,
virtual_ip: Optional[str] = None,
enable_haproxy_protocol: bool = False,
- extra_container_args: Optional[List[str]] = None,
- extra_entrypoint_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
+ extra_entrypoint_args: Optional[GeneralArgList] = None,
custom_configs: Optional[List[CustomConfig]] = None,
):
assert service_type == 'nfs'
config: Optional[Dict[str, str]] = None,
networks: Optional[List[str]] = None,
subcluster: Optional[str] = None, # legacy, only for from_json on upgrade
- extra_container_args: Optional[List[str]] = None,
- extra_entrypoint_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
+ extra_entrypoint_args: Optional[GeneralArgList] = None,
custom_configs: Optional[List[CustomConfig]] = None,
rgw_realm_token: Optional[str] = None,
update_endpoints: Optional[bool] = False,
preview_only: bool = False,
config: Optional[Dict[str, str]] = None,
networks: Optional[List[str]] = None,
- extra_container_args: Optional[List[str]] = None,
- extra_entrypoint_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
+ extra_entrypoint_args: Optional[GeneralArgList] = None,
custom_configs: Optional[List[CustomConfig]] = None,
):
assert service_type == 'iscsi'
ssl: bool = False,
keepalive_only: bool = False,
enable_haproxy_protocol: bool = False,
- extra_container_args: Optional[List[str]] = None,
- extra_entrypoint_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
+ extra_entrypoint_args: Optional[GeneralArgList] = None,
custom_configs: Optional[List[CustomConfig]] = None,
):
assert service_type == 'ingress'
preview_only: bool = False,
image: Optional[str] = None,
entrypoint: Optional[str] = None,
- extra_entrypoint_args: Optional[List[str]] = None,
+ extra_entrypoint_args: Optional[GeneralArgList] = None,
uid: Optional[int] = None,
gid: Optional[int] = None,
volume_mounts: Optional[Dict[str, str]] = {},
- args: Optional[List[str]] = [], # args for the container runtime, not entrypoint
+ # args are for the container runtime, not entrypoint
+ args: Optional[GeneralArgList] = [],
envs: Optional[List[str]] = [],
privileged: Optional[bool] = False,
bind_mounts: Optional[List[List[str]]] = None,
unmanaged: bool = False,
preview_only: bool = False,
port: Optional[int] = None,
- extra_container_args: Optional[List[str]] = None,
- extra_entrypoint_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
+ extra_entrypoint_args: Optional[GeneralArgList] = None,
custom_configs: Optional[List[CustomConfig]] = None,
):
assert service_type in ['grafana', 'node-exporter', 'prometheus', 'alertmanager',
networks: Optional[List[str]] = None,
port: Optional[int] = None,
secure: bool = False,
- extra_container_args: Optional[List[str]] = None,
- extra_entrypoint_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
+ extra_entrypoint_args: Optional[GeneralArgList] = None,
custom_configs: Optional[List[CustomConfig]] = None,
):
assert service_type == 'alertmanager'
protocol: Optional[str] = 'https',
initial_admin_password: Optional[str] = None,
anonymous_access: Optional[bool] = True,
- extra_container_args: Optional[List[str]] = None,
- extra_entrypoint_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
+ extra_entrypoint_args: Optional[GeneralArgList] = None,
custom_configs: Optional[List[CustomConfig]] = None,
):
assert service_type == 'grafana'
port: Optional[int] = None,
retention_time: Optional[str] = None,
retention_size: Optional[str] = None,
- extra_container_args: Optional[List[str]] = None,
- extra_entrypoint_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
+ extra_entrypoint_args: Optional[GeneralArgList] = None,
custom_configs: Optional[List[CustomConfig]] = None,
):
assert service_type == 'prometheus'
unmanaged: bool = False,
preview_only: bool = False,
port: Optional[int] = None,
- extra_container_args: Optional[List[str]] = None,
- extra_entrypoint_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
+ extra_entrypoint_args: Optional[GeneralArgList] = None,
custom_configs: Optional[List[CustomConfig]] = None,
):
assert service_type == 'snmp-gateway'
config: Optional[Dict[str, str]] = None,
unmanaged: bool = False,
preview_only: bool = False,
- extra_container_args: Optional[List[str]] = None,
- extra_entrypoint_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
+ extra_entrypoint_args: Optional[GeneralArgList] = None,
custom_configs: Optional[List[CustomConfig]] = None,
):
assert service_type == 'mds'
unmanaged: bool = False,
preview_only: bool = False,
networks: Optional[List[str]] = None,
- extra_container_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
custom_configs: Optional[List[CustomConfig]] = None,
crush_locations: Optional[Dict[str, List[str]]] = None,
):
placement: Optional[PlacementSpec] = None,
unmanaged: bool = False,
preview_only: bool = False,
- extra_container_args: Optional[List[str]] = None,
+ extra_container_args: Optional[GeneralArgList] = None,
):
assert service_type == 'ceph-exporter'