---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.9.0
  creationTimestamp: null
  name: gameserversets.game.kruise.io
spec:
  group: game.kruise.io
  names:
    kind: GameServerSet
    listKind: GameServerSetList
    plural: gameserversets
    shortNames:
    - gss
    singular: gameserverset
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The desired number of GameServers.
      jsonPath: .spec.replicas
      name: DESIRED
      type: integer
    - description: The number of currently all GameServers.
      jsonPath: .status.replicas
      name: CURRENT
      type: integer
    - description: The number of GameServers updated.
      jsonPath: .status.updatedReplicas
      name: UPDATED
      type: integer
    - description: The number of GameServers ready.
      jsonPath: .status.readyReplicas
      name: READY
      type: integer
    - description: The number of GameServers Maintaining.
      jsonPath: .status.maintainingReplicas
      name: Maintaining
      type: integer
    - description: The number of GameServers WaitToBeDeleted.
      jsonPath: .status.waitToBeDeletedReplicas
      name: WaitToBeDeleted
      type: integer
    - description: The age of GameServerSet.
      jsonPath: .metadata.creationTimestamp
      name: AGE
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: GameServerSet is the Schema for the gameserversets API
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: GameServerSetSpec defines the desired state of GameServerSet
            properties:
              gameServerTemplate:
                description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
                  Important: Run "make" to regenerate code after modifying this file'
                properties:
                  reclaimPolicy:
                    description: ReclaimPolicy indicates the reclaim policy for GameServer.
                      Default is Cascade.
                    type: string
                  volumeClaimTemplates:
                    items:
                      description: PersistentVolumeClaim is a user's request for and
                        claim to a persistent volume
                      properties:
                        apiVersion:
                          description: 'APIVersion defines the versioned schema of
                            this representation of an object. Servers should convert
                            recognized schemas to the latest internal value, and may
                            reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
                          type: string
                        kind:
                          description: 'Kind is a string value representing the REST
                            resource this object represents. Servers may infer this
                            from the endpoint the client submits requests to. Cannot
                            be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        metadata:
                          description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: 'spec defines the desired characteristics of
                            a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
                          properties:
                            accessModes:
                              description: 'accessModes contains the desired access
                                modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
                              items:
                                type: string
                              type: array
                            dataSource:
                              description: 'dataSource field can be used to specify
                                either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
                                * An existing PVC (PersistentVolumeClaim) If the provisioner
                                or an external controller can support the specified
                                data source, it will create a new volume based on
                                the contents of the specified data source. If the
                                AnyVolumeDataSource feature gate is enabled, this
                                field will always have the same contents as the DataSourceRef
                                field.'
                              properties:
                                apiGroup:
                                  description: APIGroup is the group for the resource
                                    being referenced. If APIGroup is not specified,
                                    the specified Kind must be in the core API group.
                                    For any other third-party types, APIGroup is required.
                                  type: string
                                kind:
                                  description: Kind is the type of resource being
                                    referenced
                                  type: string
                                name:
                                  description: Name is the name of resource being
                                    referenced
                                  type: string
                              required:
                              - kind
                              - name
                              type: object
                            dataSourceRef:
                              description: 'dataSourceRef specifies the object from
                                which to populate the volume with data, if a non-empty
                                volume is desired. This may be any local object from
                                a non-empty API group (non core object) or a PersistentVolumeClaim
                                object. When this field is specified, volume binding
                                will only succeed if the type of the specified object
                                matches some installed volume populator or dynamic
                                provisioner. This field will replace the functionality
                                of the DataSource field and as such if both fields
                                are non-empty, they must have the same value. For
                                backwards compatibility, both fields (DataSource and
                                DataSourceRef) will be set to the same value automatically
                                if one of them is empty and the other is non-empty.
                                There are two important differences between DataSource
                                and DataSourceRef: * While DataSource only allows
                                two specific types of objects, DataSourceRef allows
                                any non-core object, as well as PersistentVolumeClaim
                                objects. * While DataSource ignores disallowed values
                                (dropping them), DataSourceRef preserves all values,
                                and generates an error if a disallowed value is specified.
                                (Beta) Using this field requires the AnyVolumeDataSource
                                feature gate to be enabled.'
                              properties:
                                apiGroup:
                                  description: APIGroup is the group for the resource
                                    being referenced. If APIGroup is not specified,
                                    the specified Kind must be in the core API group.
                                    For any other third-party types, APIGroup is required.
                                  type: string
                                kind:
                                  description: Kind is the type of resource being
                                    referenced
                                  type: string
                                name:
                                  description: Name is the name of resource being
                                    referenced
                                  type: string
                              required:
                              - kind
                              - name
                              type: object
                            resources:
                              description: 'resources represents the minimum resources
                                the volume should have. If RecoverVolumeExpansionFailure
                                feature is enabled users are allowed to specify resource
                                requirements that are lower than previous value but
                                must still be higher than capacity recorded in the
                                status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
                              properties:
                                limits:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  description: 'Limits describes the maximum amount
                                    of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
                                  type: object
                                requests:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  description: 'Requests describes the minimum amount
                                    of compute resources required. If Requests is
                                    omitted for a container, it defaults to Limits
                                    if that is explicitly specified, otherwise to
                                    an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
                                  type: object
                              type: object
                            selector:
                              description: selector is a label query over volumes
                                to consider for binding.
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label
                                    selector requirements. The requirements are ANDed.
                                  items:
                                    description: A label selector requirement is a
                                      selector that contains values, a key, and an
                                      operator that relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the
                                          selector applies to.
                                        type: string
                                      operator:
                                        description: operator represents a key's relationship
                                          to a set of values. Valid operators are
                                          In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: values is an array of string
                                          values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the
                                          operator is Exists or DoesNotExist, the
                                          values array must be empty. This array is
                                          replaced during a strategic merge patch.
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: matchLabels is a map of {key,value}
                                    pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions,
                                    whose key field is "key", the operator is "In",
                                    and the values array contains only "value". The
                                    requirements are ANDed.
                                  type: object
                              type: object
                            storageClassName:
                              description: 'storageClassName is the name of the StorageClass
                                required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
                              type: string
                            volumeMode:
                              description: volumeMode defines what type of volume
                                is required by the claim. Value of Filesystem is implied
                                when not included in claim spec.
                              type: string
                            volumeName:
                              description: volumeName is the binding reference to
                                the PersistentVolume backing this claim.
                              type: string
                          type: object
                        status:
                          description: 'status represents the current information/status
                            of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
                          properties:
                            accessModes:
                              description: 'accessModes contains the actual access
                                modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
                              items:
                                type: string
                              type: array
                            allocatedResources:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              description: allocatedResources is the storage resource
                                within AllocatedResources tracks the capacity allocated
                                to a PVC. It may be larger than the actual capacity
                                when a volume expansion operation is requested. For
                                storage quota, the larger value from allocatedResources
                                and PVC.spec.resources is used. If allocatedResources
                                is not set, PVC.spec.resources alone is used for quota
                                calculation. If a volume expansion capacity request
                                is lowered, allocatedResources is only lowered if
                                there are no expansion operations in progress and
                                if the actual volume capacity is equal or lower than
                                the requested capacity. This is an alpha field and
                                requires enabling RecoverVolumeExpansionFailure feature.
                              type: object
                            capacity:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              description: capacity represents the actual resources
                                of the underlying volume.
                              type: object
                            conditions:
                              description: conditions is the current Condition of
                                persistent volume claim. If underlying persistent
                                volume is being resized then the Condition will be
                                set to 'ResizeStarted'.
                              items:
                                description: PersistentVolumeClaimCondition contails
                                  details about state of pvc
                                properties:
                                  lastProbeTime:
                                    description: lastProbeTime is the time we probed
                                      the condition.
                                    format: date-time
                                    type: string
                                  lastTransitionTime:
                                    description: lastTransitionTime is the time the
                                      condition transitioned from one status to another.
                                    format: date-time
                                    type: string
                                  message:
                                    description: message is the human-readable message
                                      indicating details about last transition.
                                    type: string
                                  reason:
                                    description: reason is a unique, this should be
                                      a short, machine understandable string that
                                      gives the reason for condition's last transition.
                                      If it reports "ResizeStarted" that means the
                                      underlying persistent volume is being resized.
                                    type: string
                                  status:
                                    type: string
                                  type:
                                    description: PersistentVolumeClaimConditionType
                                      is a valid value of PersistentVolumeClaimCondition.Type
                                    type: string
                                required:
                                - status
                                - type
                                type: object
                              type: array
                            phase:
                              description: phase represents the current phase of PersistentVolumeClaim.
                              type: string
                            resizeStatus:
                              description: resizeStatus stores status of resize operation.
                                ResizeStatus is not set by default but when expansion
                                is complete resizeStatus is set to empty string by
                                resize controller or kubelet. This is an alpha field
                                and requires enabling RecoverVolumeExpansionFailure
                                feature.
                              type: string
                          type: object
                      type: object
                    type: array
                type: object
                x-kubernetes-preserve-unknown-fields: true
              network:
                properties:
                  networkConf:
                    items:
                      properties:
                        name:
                          type: string
                        value:
                          type: string
                      type: object
                    type: array
                  networkType:
                    type: string
                type: object
              replicas:
                description: replicas is the desired number of replicas of the given
                  Template. These are replicas in the sense that they are instantiations
                  of the same Template, but individual replicas also have a consistent
                  identity.
                format: int32
                minimum: 0
                type: integer
              reserveGameServerIds:
                items:
                  type: integer
                type: array
              scaleStrategy:
                properties:
                  maxUnavailable:
                    anyOf:
                    - type: integer
                    - type: string
                    description: 'The maximum number of pods that can be unavailable
                      during scaling. Value can be an absolute number (ex: 5) or a
                      percentage of desired pods (ex: 10%). Absolute number is calculated
                      from percentage by rounding down. It can just be allowed to
                      work with Parallel podManagementPolicy.'
                    x-kubernetes-int-or-string: true
                  scaleDownStrategyType:
                    description: ScaleDownStrategyType indicates the scaling down
                      strategy. Default is GeneralScaleDownStrategyType
                    type: string
                type: object
              serviceName:
                type: string
              serviceQualities:
                items:
                  properties:
                    containerName:
                      type: string
                    exec:
                      description: Exec specifies the action to take.
                      properties:
                        command:
                          description: Command is the command line to execute inside
                            the container, the working directory for the command  is
                            root ('/') in the container's filesystem. The command
                            is simply exec'd, it is not run inside a shell, so traditional
                            shell instructions ('|', etc) won't work. To use a shell,
                            you need to explicitly call out to that shell. Exit status
                            of 0 is treated as live/healthy and non-zero is unhealthy.
                          items:
                            type: string
                          type: array
                      type: object
                    failureThreshold:
                      description: Minimum consecutive failures for the probe to be
                        considered failed after having succeeded. Defaults to 3. Minimum
                        value is 1.
                      format: int32
                      type: integer
                    grpc:
                      description: GRPC specifies an action involving a GRPC port.
                        This is a beta field and requires enabling GRPCContainerProbe
                        feature gate.
                      properties:
                        port:
                          description: Port number of the gRPC service. Number must
                            be in the range 1 to 65535.
                          format: int32
                          type: integer
                        service:
                          description: "Service is the name of the service to place
                            in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
                            \n If this is not specified, the default behavior is defined
                            by gRPC."
                          type: string
                      required:
                      - port
                      type: object
                    httpGet:
                      description: HTTPGet specifies the http request to perform.
                      properties:
                        host:
                          description: Host name to connect to, defaults to the pod
                            IP. You probably want to set "Host" in httpHeaders instead.
                          type: string
                        httpHeaders:
                          description: Custom headers to set in the request. HTTP
                            allows repeated headers.
                          items:
                            description: HTTPHeader describes a custom header to be
                              used in HTTP probes
                            properties:
                              name:
                                description: The header field name
                                type: string
                              value:
                                description: The header field value
                                type: string
                            required:
                            - name
                            - value
                            type: object
                          type: array
                        path:
                          description: Path to access on the HTTP server.
                          type: string
                        port:
                          anyOf:
                          - type: integer
                          - type: string
                          description: Name or number of the port to access on the
                            container. Number must be in the range 1 to 65535. Name
                            must be an IANA_SVC_NAME.
                          x-kubernetes-int-or-string: true
                        scheme:
                          description: Scheme to use for connecting to the host. Defaults
                            to HTTP.
                          type: string
                      required:
                      - port
                      type: object
                    initialDelaySeconds:
                      description: 'Number of seconds after the container has started
                        before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                      format: int32
                      type: integer
                    name:
                      type: string
                    periodSeconds:
                      description: How often (in seconds) to perform the probe. Default
                        to 10 seconds. Minimum value is 1.
                      format: int32
                      type: integer
                    permanent:
                      description: Whether to make GameServerSpec not change after
                        the ServiceQualityAction is executed. When Permanent is true,
                        regardless of the detection results, ServiceQualityAction
                        will only be executed once. When Permanent is false, ServiceQualityAction
                        can be executed again even though ServiceQualityAction has
                        been executed.
                      type: boolean
                    serviceQualityAction:
                      items:
                        properties:
                          containers:
                            description: Containers can be used to make the corresponding
                              GameServer container fields different from the fields
                              defined by GameServerTemplate in GameServerSetSpec.
                            items:
                              properties:
                                image:
                                  description: Image indicates the image of the container
                                    to update. When Image updated, pod.spec.containers[*].image
                                    will be updated immediately.
                                  type: string
                                name:
                                  description: Name indicates the name of the container
                                    to update.
                                  type: string
                                resources:
                                  description: Resources indicates the resources of
                                    the container to update. When Resources updated,
                                    pod.spec.containers[*].Resources will be not updated
                                    immediately, which will be updated when pod recreate.
                                  properties:
                                    limits:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      description: 'Limits describes the maximum amount
                                        of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
                                      type: object
                                    requests:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      description: 'Requests describes the minimum
                                        amount of compute resources required. If Requests
                                        is omitted for a container, it defaults to
                                        Limits if that is explicitly specified, otherwise
                                        to an implementation-defined value. More info:
                                        https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
                                      type: object
                                  type: object
                              required:
                              - name
                              type: object
                            type: array
                          deletionPriority:
                            anyOf:
                            - type: integer
                            - type: string
                            x-kubernetes-int-or-string: true
                          networkDisabled:
                            type: boolean
                          opsState:
                            type: string
                          result:
                            description: Result indicate the probe message returned
                              by the script. When Result is defined, it would exec
                              action only when the according Result is actually returns.
                            type: string
                          state:
                            type: boolean
                          updatePriority:
                            anyOf:
                            - type: integer
                            - type: string
                            x-kubernetes-int-or-string: true
                        required:
                        - state
                        type: object
                      type: array
                    successThreshold:
                      description: Minimum consecutive successes for the probe to
                        be considered successful after having failed. Defaults to
                        1. Must be 1 for liveness and startup. Minimum value is 1.
                      format: int32
                      type: integer
                    tcpSocket:
                      description: TCPSocket specifies an action involving a TCP port.
                      properties:
                        host:
                          description: 'Optional: Host name to connect to, defaults
                            to the pod IP.'
                          type: string
                        port:
                          anyOf:
                          - type: integer
                          - type: string
                          description: Number or name of the port to access on the
                            container. Number must be in the range 1 to 65535. Name
                            must be an IANA_SVC_NAME.
                          x-kubernetes-int-or-string: true
                      required:
                      - port
                      type: object
                    terminationGracePeriodSeconds:
                      description: Optional duration in seconds the pod needs to terminate
                        gracefully upon probe failure. The grace period is the duration
                        in seconds after the processes running in the pod are sent
                        a termination signal and the time when the processes are forcibly
                        halted with a kill signal. Set this value longer than the
                        expected cleanup time for your process. If this value is nil,
                        the pod's terminationGracePeriodSeconds will be used. Otherwise,
                        this value overrides the value provided by the pod spec. Value
                        must be non-negative integer. The value zero indicates stop
                        immediately via the kill signal (no opportunity to shut down).
                        This is a beta field and requires enabling ProbeTerminationGracePeriod
                        feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
                        is used if unset.
                      format: int64
                      type: integer
                    timeoutSeconds:
                      description: 'Number of seconds after which the probe times
                        out. Defaults to 1 second. Minimum value is 1. More info:
                        https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                      format: int32
                      type: integer
                  required:
                  - name
                  - permanent
                  type: object
                type: array
              updateStrategy:
                properties:
                  rollingUpdate:
                    description: RollingUpdate is used to communicate parameters when
                      Type is RollingUpdateStatefulSetStrategyType.
                    properties:
                      inPlaceUpdateStrategy:
                        description: UnorderedUpdate contains strategies for non-ordered
                          update. If it is not nil, pods will be updated with non-ordered
                          sequence. Noted that UnorderedUpdate can only be allowed
                          to work with Parallel podManagementPolicy UnorderedUpdate
                          *kruiseV1beta1.UnorderedUpdateStrategy `json:"unorderedUpdate,omitempty"`
                          InPlaceUpdateStrategy contains strategies for in-place update.
                        properties:
                          gracePeriodSeconds:
                            description: GracePeriodSeconds is the timespan between
                              set Pod status to not-ready and update images in Pod
                              spec when in-place update a Pod.
                            format: int32
                            type: integer
                        type: object
                      maxUnavailable:
                        anyOf:
                        - type: integer
                        - type: string
                        description: 'The maximum number of pods that can be unavailable
                          during the update. Value can be an absolute number (ex:
                          5) or a percentage of desired pods (ex: 10%). Absolute number
                          is calculated from percentage by rounding down. Also, maxUnavailable
                          can just be allowed to work with Parallel podManagementPolicy.
                          Defaults to 1.'
                        x-kubernetes-int-or-string: true
                      minReadySeconds:
                        description: MinReadySeconds indicates how long will the pod
                          be considered ready after it's updated. MinReadySeconds
                          works with both OrderedReady and Parallel podManagementPolicy.
                          It affects the pod scale up speed when the podManagementPolicy
                          is set to be OrderedReady. Combined with MaxUnavailable,
                          it affects the pod update speed regardless of podManagementPolicy.
                          Default value is 0, max is 300.
                        format: int32
                        type: integer
                      partition:
                        description: 'Partition indicates the ordinal at which the
                          StatefulSet should be partitioned by default. But if unorderedUpdate
                          has been set: - Partition indicates the number of pods with
                          non-updated revisions when rolling update. - It means controller
                          will update $(replicas - partition) number of pod. Default
                          value is 0.'
                        format: int32
                        type: integer
                      paused:
                        description: Paused indicates that the StatefulSet is paused.
                          Default value is false
                        type: boolean
                      podUpdatePolicy:
                        description: PodUpdatePolicy indicates how pods should be
                          updated Default value is "ReCreate"
                        type: string
                    type: object
                  type:
                    description: Type indicates the type of the StatefulSetUpdateStrategy.
                      Default is RollingUpdate.
                    type: string
                type: object
            required:
            - replicas
            type: object
          status:
            description: GameServerSetStatus defines the observed state of GameServerSet
            properties:
              availableReplicas:
                format: int32
                type: integer
              currentReplicas:
                format: int32
                type: integer
              labelSelector:
                description: LabelSelector is label selectors for query over pods
                  that should match the replica count used by HPA.
                type: string
              maintainingReplicas:
                format: int32
                type: integer
              observedGeneration:
                description: The generation observed by the controller.
                format: int64
                type: integer
              readyReplicas:
                format: int32
                type: integer
              replicas:
                description: replicas from advancedStatefulSet
                format: int32
                type: integer
              updatedReadyReplicas:
                format: int32
                type: integer
              updatedReplicas:
                format: int32
                type: integer
              waitToBeDeletedReplicas:
                format: int32
                type: integer
            required:
            - availableReplicas
            - currentReplicas
            - readyReplicas
            - replicas
            - updatedReplicas
            type: object
        type: object
    served: true
    storage: true
    subresources:
      scale:
        labelSelectorPath: .status.labelSelector
        specReplicasPath: .spec.replicas
        statusReplicasPath: .status.replicas
      status: {}
