# GKE Hub API . projects . locations . memberships . features

## Instance Methods

Close httplib2 connections.

Creates membershipFeature under a given parent.

Removes a membershipFeature.

========= MembershipFeature Services ========= Gets details of a membershipFeature.

Lists MembershipFeatures in a given project and location.

Retrieves the next page of results.

Updates an existing MembershipFeature.

### Method Details

`close()`

    Close httplib2 connections.

`create(parent, body=None, requestId=None, x__xgafv=None)`

    Creates membershipFeature under a given parent.

    Args:
      parent: string, Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/*/locations/*/memberships/*/features/*`. (required)
      body: object, The request body.
        The object takes the form of:

    { # MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.
      "createTime": "A String", # Output only. When the MembershipFeature resource was created.
      "deleteTime": "A String", # Output only. When the MembershipFeature resource was deleted.
      "featureConfigRef": { # Information of the FeatureConfig applied on the MembershipFeature. # Reference information for a FeatureConfig applied on the MembershipFeature.
        "config": "A String", # Input only. Resource name of FeatureConfig, in the format: `projects/{project}/locations/global/featureConfigs/{feature_config}`.
        "configUpdateTime": "A String", # Output only. When the FeatureConfig was last applied and copied to FeatureSpec.
        "uuid": "A String", # Output only. An id that uniquely identify a FeatureConfig object.
      },
      "labels": { # GCP labels for this MembershipFeature.
        "a_key": "A String",
      },
      "name": "A String", # Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)
      "resourceState": { # ResourceState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the "running state" of the MembershipFeature. # Lifecycle information of the resource itself.
        "state": "A String", # Output only. The current state of the Feature resource in the Hub API.
      },
      "spec": { # FeatureSpec contains user input per-feature spec information. # Output only. Spec of this membershipFeature.
      },
      "state": { # FeatureState contains high-level state information and per-feature state information for this MembershipFeature. # Output only. State of the this membershipFeature.
        "state": { # High-level state of a MembershipFeature. # The high-level state of this MembershipFeature.
          "code": "A String", # The high-level, machine-readable status of this MembershipFeature.
          "description": "A String", # A human-readable description of the current status.
          "updateTime": "A String", # The time this status and any related Feature-specific details were updated.
        },
      },
      "updateTime": "A String", # Output only. When the MembershipFeature resource was last updated.
    }

      requestId: string, Idempotent request UUID.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`delete(name, requestId=None, x__xgafv=None)`

    Removes a membershipFeature.

    Args:
      name: string, Required. The name of the membershipFeature to be deleted. Specified in the format `projects/*/locations/*/memberships/*/features/*`. (required)
      requestId: string, Idempotent request UUID.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`get(name, x__xgafv=None)`

    ========= MembershipFeature Services ========= Gets details of a membershipFeature.

    Args:
      name: string, Required. The MembershipFeature resource name in the format `projects/*/locations/*/memberships/*/features/*`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.
      "createTime": "A String", # Output only. When the MembershipFeature resource was created.
      "deleteTime": "A String", # Output only. When the MembershipFeature resource was deleted.
      "featureConfigRef": { # Information of the FeatureConfig applied on the MembershipFeature. # Reference information for a FeatureConfig applied on the MembershipFeature.
        "config": "A String", # Input only. Resource name of FeatureConfig, in the format: `projects/{project}/locations/global/featureConfigs/{feature_config}`.
        "configUpdateTime": "A String", # Output only. When the FeatureConfig was last applied and copied to FeatureSpec.
        "uuid": "A String", # Output only. An id that uniquely identify a FeatureConfig object.
      },
      "labels": { # GCP labels for this MembershipFeature.
        "a_key": "A String",
      },
      "name": "A String", # Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)
      "resourceState": { # ResourceState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the "running state" of the MembershipFeature. # Lifecycle information of the resource itself.
        "state": "A String", # Output only. The current state of the Feature resource in the Hub API.
      },
      "spec": { # FeatureSpec contains user input per-feature spec information. # Output only. Spec of this membershipFeature.
      },
      "state": { # FeatureState contains high-level state information and per-feature state information for this MembershipFeature. # Output only. State of the this membershipFeature.
        "state": { # High-level state of a MembershipFeature. # The high-level state of this MembershipFeature.
          "code": "A String", # The high-level, machine-readable status of this MembershipFeature.
          "description": "A String", # A human-readable description of the current status.
          "updateTime": "A String", # The time this status and any related Feature-specific details were updated.
        },
      },
      "updateTime": "A String", # Output only. When the MembershipFeature resource was last updated.
    }

`list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists MembershipFeatures in a given project and location.

    Args:
      parent: string, Required. The parent where the MembershipFeature will be listed. In the format: `projects/*/locations/*/memberships/*`. (required)
      filter: string, Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name "helloworld" in project "foo-proj" and membership "member-bar": name = "projects/foo-proj/locations/global/memberships/member-bar/features/helloworld" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar
      orderBy: string, One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.
      pageSize: integer, When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.
      pageToken: string, Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for the `GkeHubFeature.ListMembershipFeatures` method.
      "membershipFeatures": [ # The list of matching MembershipFeatures.
        { # MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.
          "createTime": "A String", # Output only. When the MembershipFeature resource was created.
          "deleteTime": "A String", # Output only. When the MembershipFeature resource was deleted.
          "featureConfigRef": { # Information of the FeatureConfig applied on the MembershipFeature. # Reference information for a FeatureConfig applied on the MembershipFeature.
            "config": "A String", # Input only. Resource name of FeatureConfig, in the format: `projects/{project}/locations/global/featureConfigs/{feature_config}`.
            "configUpdateTime": "A String", # Output only. When the FeatureConfig was last applied and copied to FeatureSpec.
            "uuid": "A String", # Output only. An id that uniquely identify a FeatureConfig object.
          },
          "labels": { # GCP labels for this MembershipFeature.
            "a_key": "A String",
          },
          "name": "A String", # Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)
          "resourceState": { # ResourceState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the "running state" of the MembershipFeature. # Lifecycle information of the resource itself.
            "state": "A String", # Output only. The current state of the Feature resource in the Hub API.
          },
          "spec": { # FeatureSpec contains user input per-feature spec information. # Output only. Spec of this membershipFeature.
          },
          "state": { # FeatureState contains high-level state information and per-feature state information for this MembershipFeature. # Output only. State of the this membershipFeature.
            "state": { # High-level state of a MembershipFeature. # The high-level state of this MembershipFeature.
              "code": "A String", # The high-level, machine-readable status of this MembershipFeature.
              "description": "A String", # A human-readable description of the current status.
              "updateTime": "A String", # The time this status and any related Feature-specific details were updated.
            },
          },
          "updateTime": "A String", # Output only. When the MembershipFeature resource was last updated.
        },
      ],
      "nextPageToken": "A String", # A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return.
    }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)`

    Updates an existing MembershipFeature.

    Args:
      name: string, Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers) (required)
      body: object, The request body.
        The object takes the form of:

    { # MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.
      "createTime": "A String", # Output only. When the MembershipFeature resource was created.
      "deleteTime": "A String", # Output only. When the MembershipFeature resource was deleted.
      "featureConfigRef": { # Information of the FeatureConfig applied on the MembershipFeature. # Reference information for a FeatureConfig applied on the MembershipFeature.
        "config": "A String", # Input only. Resource name of FeatureConfig, in the format: `projects/{project}/locations/global/featureConfigs/{feature_config}`.
        "configUpdateTime": "A String", # Output only. When the FeatureConfig was last applied and copied to FeatureSpec.
        "uuid": "A String", # Output only. An id that uniquely identify a FeatureConfig object.
      },
      "labels": { # GCP labels for this MembershipFeature.
        "a_key": "A String",
      },
      "name": "A String", # Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)
      "resourceState": { # ResourceState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the "running state" of the MembershipFeature. # Lifecycle information of the resource itself.
        "state": "A String", # Output only. The current state of the Feature resource in the Hub API.
      },
      "spec": { # FeatureSpec contains user input per-feature spec information. # Output only. Spec of this membershipFeature.
      },
      "state": { # FeatureState contains high-level state information and per-feature state information for this MembershipFeature. # Output only. State of the this membershipFeature.
        "state": { # High-level state of a MembershipFeature. # The high-level state of this MembershipFeature.
          "code": "A String", # The high-level, machine-readable status of this MembershipFeature.
          "description": "A String", # A human-readable description of the current status.
          "updateTime": "A String", # The time this status and any related Feature-specific details were updated.
        },
      },
      "updateTime": "A String", # Output only. When the MembershipFeature resource was last updated.
    }

      requestId: string, Idempotent request UUID.
      updateMask: string, Required. Mask of fields to update.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }