# -*- coding: utf-8 -*-
# Copyright 2025 Google LLC
#
# 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.
#
from google.cloud.gkehub import gapic_version as package_version

__version__ = package_version.__version__


from google.cloud.gkehub_v1.services.gke_hub.async_client import GkeHubAsyncClient
from google.cloud.gkehub_v1.services.gke_hub.client import GkeHubClient
from google.cloud.gkehub_v1.types.feature import (
    CommonFeatureSpec,
    CommonFeatureState,
    Feature,
    FeatureResourceState,
    FeatureState,
    MembershipFeatureSpec,
    MembershipFeatureState,
    ScopeFeatureSpec,
    ScopeFeatureState,
)
from google.cloud.gkehub_v1.types.fleet import (
    BinaryAuthorizationConfig,
    CompliancePostureConfig,
    DefaultClusterConfig,
    Fleet,
    FleetLifecycleState,
    MembershipBinding,
    MembershipBindingLifecycleState,
    Namespace,
    NamespaceLifecycleState,
    RBACRoleBinding,
    RBACRoleBindingLifecycleState,
    Scope,
    ScopeLifecycleState,
    SecurityPostureConfig,
)
from google.cloud.gkehub_v1.types.membership import (
    Authority,
    GkeCluster,
    KubernetesMetadata,
    KubernetesResource,
    Membership,
    MembershipEndpoint,
    MembershipState,
    MonitoringConfig,
    ResourceManifest,
    ResourceOptions,
)
from google.cloud.gkehub_v1.types.service import (
    ConnectAgentResource,
    CreateFeatureRequest,
    CreateFleetRequest,
    CreateMembershipBindingRequest,
    CreateMembershipRBACRoleBindingRequest,
    CreateMembershipRequest,
    CreateScopeNamespaceRequest,
    CreateScopeRBACRoleBindingRequest,
    CreateScopeRequest,
    DeleteFeatureRequest,
    DeleteFleetRequest,
    DeleteMembershipBindingRequest,
    DeleteMembershipRBACRoleBindingRequest,
    DeleteMembershipRequest,
    DeleteScopeNamespaceRequest,
    DeleteScopeRBACRoleBindingRequest,
    DeleteScopeRequest,
    GenerateConnectManifestRequest,
    GenerateConnectManifestResponse,
    GenerateMembershipRBACRoleBindingYAMLRequest,
    GenerateMembershipRBACRoleBindingYAMLResponse,
    GetFeatureRequest,
    GetFleetRequest,
    GetMembershipBindingRequest,
    GetMembershipRBACRoleBindingRequest,
    GetMembershipRequest,
    GetScopeNamespaceRequest,
    GetScopeRBACRoleBindingRequest,
    GetScopeRequest,
    ListBoundMembershipsRequest,
    ListBoundMembershipsResponse,
    ListFeaturesRequest,
    ListFeaturesResponse,
    ListFleetsRequest,
    ListFleetsResponse,
    ListMembershipBindingsRequest,
    ListMembershipBindingsResponse,
    ListMembershipRBACRoleBindingsRequest,
    ListMembershipRBACRoleBindingsResponse,
    ListMembershipsRequest,
    ListMembershipsResponse,
    ListPermittedScopesRequest,
    ListPermittedScopesResponse,
    ListScopeNamespacesRequest,
    ListScopeNamespacesResponse,
    ListScopeRBACRoleBindingsRequest,
    ListScopeRBACRoleBindingsResponse,
    ListScopesRequest,
    ListScopesResponse,
    OperationMetadata,
    TypeMeta,
    UpdateFeatureRequest,
    UpdateFleetRequest,
    UpdateMembershipBindingRequest,
    UpdateMembershipRBACRoleBindingRequest,
    UpdateMembershipRequest,
    UpdateScopeNamespaceRequest,
    UpdateScopeRBACRoleBindingRequest,
    UpdateScopeRequest,
)

__all__ = (
    "GkeHubClient",
    "GkeHubAsyncClient",
    "CommonFeatureSpec",
    "CommonFeatureState",
    "Feature",
    "FeatureResourceState",
    "FeatureState",
    "MembershipFeatureSpec",
    "MembershipFeatureState",
    "ScopeFeatureSpec",
    "ScopeFeatureState",
    "BinaryAuthorizationConfig",
    "CompliancePostureConfig",
    "DefaultClusterConfig",
    "Fleet",
    "FleetLifecycleState",
    "MembershipBinding",
    "MembershipBindingLifecycleState",
    "Namespace",
    "NamespaceLifecycleState",
    "RBACRoleBinding",
    "RBACRoleBindingLifecycleState",
    "Scope",
    "ScopeLifecycleState",
    "SecurityPostureConfig",
    "Authority",
    "GkeCluster",
    "KubernetesMetadata",
    "KubernetesResource",
    "Membership",
    "MembershipEndpoint",
    "MembershipState",
    "MonitoringConfig",
    "ResourceManifest",
    "ResourceOptions",
    "ConnectAgentResource",
    "CreateFeatureRequest",
    "CreateFleetRequest",
    "CreateMembershipBindingRequest",
    "CreateMembershipRBACRoleBindingRequest",
    "CreateMembershipRequest",
    "CreateScopeNamespaceRequest",
    "CreateScopeRBACRoleBindingRequest",
    "CreateScopeRequest",
    "DeleteFeatureRequest",
    "DeleteFleetRequest",
    "DeleteMembershipBindingRequest",
    "DeleteMembershipRBACRoleBindingRequest",
    "DeleteMembershipRequest",
    "DeleteScopeNamespaceRequest",
    "DeleteScopeRBACRoleBindingRequest",
    "DeleteScopeRequest",
    "GenerateConnectManifestRequest",
    "GenerateConnectManifestResponse",
    "GenerateMembershipRBACRoleBindingYAMLRequest",
    "GenerateMembershipRBACRoleBindingYAMLResponse",
    "GetFeatureRequest",
    "GetFleetRequest",
    "GetMembershipBindingRequest",
    "GetMembershipRBACRoleBindingRequest",
    "GetMembershipRequest",
    "GetScopeNamespaceRequest",
    "GetScopeRBACRoleBindingRequest",
    "GetScopeRequest",
    "ListBoundMembershipsRequest",
    "ListBoundMembershipsResponse",
    "ListFeaturesRequest",
    "ListFeaturesResponse",
    "ListFleetsRequest",
    "ListFleetsResponse",
    "ListMembershipBindingsRequest",
    "ListMembershipBindingsResponse",
    "ListMembershipRBACRoleBindingsRequest",
    "ListMembershipRBACRoleBindingsResponse",
    "ListMembershipsRequest",
    "ListMembershipsResponse",
    "ListPermittedScopesRequest",
    "ListPermittedScopesResponse",
    "ListScopeNamespacesRequest",
    "ListScopeNamespacesResponse",
    "ListScopeRBACRoleBindingsRequest",
    "ListScopeRBACRoleBindingsResponse",
    "ListScopesRequest",
    "ListScopesResponse",
    "OperationMetadata",
    "TypeMeta",
    "UpdateFeatureRequest",
    "UpdateFleetRequest",
    "UpdateMembershipBindingRequest",
    "UpdateMembershipRBACRoleBindingRequest",
    "UpdateMembershipRequest",
    "UpdateScopeNamespaceRequest",
    "UpdateScopeRBACRoleBindingRequest",
    "UpdateScopeRequest",
)
