#!/usr/bin/env python
"""
Copyright 2015 Reverb Technologies, Inc.

    Licensed 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.
"""


class V1beta1_Service(object):
    """
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    """

    def __init__(self):
        self.swaggerTypes = {
            
            'annotations': 'V1beta1_TypeMeta_annotations',
            
            
            'apiVersion': 'str',
            
            
            'containerPort': 'str',
            
            
            'createExternalLoadBalancer': 'bool',
            
            
            'creationTimestamp': 'str',
            
            
            'generateName': 'str',
            
            
            'id': 'str',
            
            
            'kind': 'str',
            
            
            'labels': 'V1beta1_Service_labels',
            
            
            'namespace': 'str',
            
            
            'port': 'int',
            
            
            'portalIP': 'str',
            
            
            'protocol': 'V1beta1_Protocol',
            
            
            'proxyPort': 'int',
            
            
            'publicIPs': 'list[str]',
            
            
            'resourceVersion': 'str',
            
            
            'selector': 'V1beta1_Service_selector',
            
            
            'selfLink': 'str',
            
            
            'sessionAffinity': 'V1beta1_AffinityType',
            
            
            'uid': 'types.UID'
            
        }

        
        #map of string keys and values that can be used by external tooling to store and retrieve arbitrary metadata about the object
        
        self.annotations = None # V1beta1_TypeMeta_annotations
        
        #version of the schema the object should have
        
        self.apiVersion = None # str
        
        #number or name of the port to access on the containers belonging to pods targeted by the service; defaults to the container&#39;s first open port
        
        self.containerPort = None # str
        
        #set up a cloud-provider-specific load balancer on an external IP
        
        self.createExternalLoadBalancer = None # bool
        
        #RFC 3339 date and time at which the object was created; populated by the system, read-only; null for lists
        
        self.creationTimestamp = None # str
        
        #an optional prefix to use to generate a unique name; has the same validation rules as name; optional, and is applied only name if is not specified
        
        self.generateName = None # str
        
        #name of the object; must be a DNS_SUBDOMAIN and unique among all objects of the same kind within the same namespace; used in resource URLs; cannot be updated
        
        self.id = None # str
        
        #kind of object, in CamelCase; cannot be updated
        
        self.kind = None # str
        
        #map of string keys and values that can be used to organize and categorize services
        
        self.labels = None # V1beta1_Service_labels
        
        #namespace to which the object belongs; must be a DNS_SUBDOMAIN; &#39;default&#39; by default; cannot be updated
        
        self.namespace = None # str
        
        #port exposed by the service
        
        self.port = None # int
        
        #IP address of the service; usually assigned by the system; if specified, it will be allocated to the service if unused, and creation of the service will fail otherwise; cannot be updated
        
        self.portalIP = None # str
        
        #protocol for port; must be UDP or TCP; TCP if unspecified
        
        self.protocol = None # V1beta1_Protocol
        
        #if non-zero, a pre-allocated host port used for this service by the proxy on each node; assigned by the master and ignored on input
        
        self.proxyPort = None # int
        
        #externally visible IPs (e.g. load balancers) that should be proxied to this service
        
        self.publicIPs = None # list[str]
        
        #string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/api-conventions.md#concurrency-control-and-consistency
        
        self.resourceVersion = None # str
        
        #label keys and values that must match in order to receive traffic for this service; if empty, all pods are selected, if not specified, endpoints must be manually specified
        
        self.selector = None # V1beta1_Service_selector
        
        #URL for the object; populated by the system, read-only
        
        self.selfLink = None # str
        
        #enable client IP based session affinity; must be ClientIP or None; defaults to None
        
        self.sessionAffinity = None # V1beta1_AffinityType
        
        #unique UUID across space and time; populated by the system, read-only; cannot be updated
        
        self.uid = None # types.UID
        
