| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| __all__ = ["Provider", "ContainerState"] |
| |
| |
| class Type: |
| @classmethod |
| def tostring(cls, value): |
| """Return the string representation of the state object attribute |
| :param str value: the state object to turn into string |
| :return: the uppercase string that represents the state object |
| :rtype: str |
| """ |
| return value.upper() |
| |
| @classmethod |
| def fromstring(cls, value): |
| """Return the state object attribute that matches the string |
| :param str value: the string to look up |
| :return: the state object attribute that matches the string |
| :rtype: str |
| """ |
| return getattr(cls, value.upper(), None) |
| |
| |
| class Provider: |
| """ |
| Defines for each of the supported providers |
| |
| Non-Dummy drivers are sorted in alphabetical order. Please preserve this |
| ordering when adding new drivers. |
| """ |
| |
| DUMMY = "dummy" |
| DOCKER = "docker" |
| ECS = "ecs" |
| GKE = "GKE" |
| JOYENT = "joyent" |
| KUBERNETES = "kubernetes" |
| LXD = "lxd" |
| RANCHER = "rancher" |
| |
| |
| class ContainerState(Type): |
| """ |
| Standard states for a container |
| |
| :cvar RUNNING: Container is running. |
| :cvar REBOOTING: Container is rebooting. |
| :cvar TERMINATED: Container is terminated. |
| This container can't be started later on. |
| :cvar STOPPED: Container is stopped. |
| This container can be started later on. |
| :cvar PENDING: Container is pending. |
| :cvar SUSPENDED: Container is suspended. |
| :cvar ERROR: Container is an error state. |
| Usually no operations can be performed |
| on the container once it ends up in the error state. |
| :cvar PAUSED: Container is paused. |
| :cvar UNKNOWN: Container state is unknown. |
| """ |
| |
| RUNNING = "running" |
| REBOOTING = "rebooting" |
| TERMINATED = "terminated" |
| PENDING = "pending" |
| UNKNOWN = "unknown" |
| STOPPED = "stopped" |
| SUSPENDED = "suspended" |
| ERROR = "error" |
| PAUSED = "paused" |